Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Add documentation on the private branch sync feature. |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
c97c6aa45f88facf842816345e6f2c44 |
| User & Date: | drh 2011-02-28 15:01:09.492 |
Context
|
2011-02-28
| ||
| 15:10 | Fix a typo in the new "Private Branches" document. check-in: 9e5c37ed46 user: drh tags: trunk | |
| 15:01 | Add documentation on the private branch sync feature. check-in: c97c6aa45f user: drh tags: trunk | |
| 14:18 | All of the execute permission bit handling appears to be working now, though beta testing would be good. Ticket [baf9b6b11e08c1]. check-in: 3ad119b703 user: drh tags: trunk | |
Changes
Changes to www/faq.tcl.
| ︙ | ︙ | |||
111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
you have everything in your private branch the way you want it, you can
then merge your private branch back into the trunk and push. Only the
final merge operation will appear in other repositories. It will seem
as if all the changes that occurred on your private branch occurred in
a single check-in.
Of course, you can also keep your branch private forever simply
by not merging the changes in the private branch back into the trunk.
}
faq {
How can I delete inappropriate content from my fossil repository?
} {
See the article on [./shunning.wiki | "shunning"] for details.
}
| > > | 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 |
you have everything in your private branch the way you want it, you can
then merge your private branch back into the trunk and push. Only the
final merge operation will appear in other repositories. It will seem
as if all the changes that occurred on your private branch occurred in
a single check-in.
Of course, you can also keep your branch private forever simply
by not merging the changes in the private branch back into the trunk.
[./private.wiki | Additional information]
}
faq {
How can I delete inappropriate content from my fossil repository?
} {
See the article on [./shunning.wiki | "shunning"] for details.
}
|
| ︙ | ︙ |
Changes to www/faq.wiki.
| ︙ | ︙ | |||
112 113 114 115 116 117 118 | your private branch in sync with the latest changes on the trunk. Once you have everything in your private branch the way you want it, you can then merge your private branch back into the trunk and push. Only the final merge operation will appear in other repositories. It will seem as if all the changes that occurred on your private branch occurred in a single check-in. Of course, you can also keep your branch private forever simply | | > > | 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | your private branch in sync with the latest changes on the trunk. Once you have everything in your private branch the way you want it, you can then merge your private branch back into the trunk and push. Only the final merge operation will appear in other repositories. It will seem as if all the changes that occurred on your private branch occurred in a single check-in. Of course, you can also keep your branch private forever simply by not merging the changes in the private branch back into the trunk. [./private.wiki | Additional information]</blockquote></li> <a name="q6"></a> <p><b>(6) How can I delete inappropriate content from my fossil repository?</b></p> <blockquote>See the article on [./shunning.wiki | "shunning"] for details.</blockquote></li> <a name="q7"></a> |
| ︙ | ︙ |
Changes to www/mkindex.tcl.
| ︙ | ︙ | |||
23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
fileformat.wiki {Fossil File Format}
fossil-v-git.wiki {Fossil Versus Git}
index.wiki {Home Page}
inout.wiki {Import And Export To And From Git}
makefile.wiki {The Fossil Build Process}
password.wiki {Password Management And Authentication}
pop.wiki {Principles Of Operations}
qandc.wiki {Questions And Criticisms}
quickstart.wiki {Fossil Quick Start Guide}
quotes.wiki
{Quotes: What People Are Saying About Fossil, Git, and DVCSes in General}
../test/release-checklist.wiki {Pre-Release Testing Checklist}
selfcheck.wiki {Fossil Repository Integrity Self Checks}
selfhost.wiki {Fossil Self Hosting Repositories}
| > | 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
fileformat.wiki {Fossil File Format}
fossil-v-git.wiki {Fossil Versus Git}
index.wiki {Home Page}
inout.wiki {Import And Export To And From Git}
makefile.wiki {The Fossil Build Process}
password.wiki {Password Management And Authentication}
pop.wiki {Principles Of Operations}
private.wiki {Creating, Syncing, and Deleting Private Branches}
qandc.wiki {Questions And Criticisms}
quickstart.wiki {Fossil Quick Start Guide}
quotes.wiki
{Quotes: What People Are Saying About Fossil, Git, and DVCSes in General}
../test/release-checklist.wiki {Pre-Release Testing Checklist}
selfcheck.wiki {Fossil Repository Integrity Self Checks}
selfhost.wiki {Fossil Self Hosting Repositories}
|
| ︙ | ︙ |
Changes to www/permutedindex.wiki.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
<title>Permuted Index Of Fossil Documentation</title>
<nowiki>
<ul>
<li><a href="event.wiki">Events</a></li>
<li><a href="tech_overview.wiki">A Technical Overview Of The Design And Implementation
Of Fossil</a></li>
<li><a href="copyright-release.html">Agreement — Contributor License</a></li>
<li><a href="delta_encoder_algorithm.wiki">Algorithm — Fossil Delta Encoding</a></li>
<li><a href="faq.wiki">Asked Questions — Frequently</a></li>
<li><a href="password.wiki">Authentication — Password Management And</a></li>
<li><a href="branching.wiki">Branching, Forking, Merging, and Tagging</a></li>
<li><a href="bugtheory.wiki">Bug Tracking In Fossil</a></li>
<li><a href="makefile.wiki">Build Process — The Fossil</a></li>
<li><a href="build.wiki">Building and Installing Fossil</a></li>
<li><a href="checkin_names.wiki">Checkin And Version Names</a></li>
<li><a href="../test/release-checklist.wiki">Checklist — Pre-Release Testing</a></li>
<li><a href="selfcheck.wiki">Checks — Fossil Repository Integrity Self</a></li>
<li><a href="contribute.wiki">Code or Documentation To The Fossil Project — Contributing</a></li>
<li><a href="style.wiki">Code Style Guidelines — Source</a></li>
<li><a href="concepts.wiki">Concepts — Fossil Core</a></li>
<li><a href="server.wiki">Configure A Fossil Server — How To</a></li>
<li><a href="shunning.wiki">Content From Fossil — Shunning: Deleting</a></li>
<li><a href="contribute.wiki">Contributing Code or Documentation To The Fossil Project</a></li>
<li><a href="copyright-release.html">Contributor License Agreement</a></li>
<li><a href="concepts.wiki">Core Concepts — Fossil</a></li>
<li><a href="qandc.wiki">Criticisms — Questions And</a></li>
<li><a href="custom_ticket.wiki">Customizing The Ticket System</a></li>
<li><a href="tech_overview.wiki">Databases Used By Fossil — SQLite</a></li>
<li><a href="shunning.wiki">Deleting Content From Fossil — Shunning:</a></li>
<li><a href="delta_encoder_algorithm.wiki">Delta Encoding Algorithm — Fossil</a></li>
<li><a href="delta_format.wiki">Delta Format — Fossil</a></li>
<li><a href="tech_overview.wiki">Design And Implementation Of Fossil — A Technical Overview Of The</a></li>
<li><a href="theory1.wiki">Design Of The Fossil DVCS — Thoughts On The</a></li>
<li><a href="embeddeddoc.wiki">Documentation — Embedded Project</a></li>
<li><a href="contribute.wiki">Documentation To The Fossil Project — Contributing Code or</a></li>
<li><a href="theory1.wiki">DVCS — Thoughts On The Design Of The Fossil</a></li>
| > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
<title>Permuted Index Of Fossil Documentation</title>
<nowiki>
<ul>
<li><a href="event.wiki">Events</a></li>
<li><a href="tech_overview.wiki">A Technical Overview Of The Design And Implementation
Of Fossil</a></li>
<li><a href="copyright-release.html">Agreement — Contributor License</a></li>
<li><a href="delta_encoder_algorithm.wiki">Algorithm — Fossil Delta Encoding</a></li>
<li><a href="faq.wiki">Asked Questions — Frequently</a></li>
<li><a href="password.wiki">Authentication — Password Management And</a></li>
<li><a href="private.wiki">Branches — Creating, Syncing, and Deleting Private</a></li>
<li><a href="branching.wiki">Branching, Forking, Merging, and Tagging</a></li>
<li><a href="bugtheory.wiki">Bug Tracking In Fossil</a></li>
<li><a href="makefile.wiki">Build Process — The Fossil</a></li>
<li><a href="build.wiki">Building and Installing Fossil</a></li>
<li><a href="checkin_names.wiki">Checkin And Version Names</a></li>
<li><a href="../test/release-checklist.wiki">Checklist — Pre-Release Testing</a></li>
<li><a href="selfcheck.wiki">Checks — Fossil Repository Integrity Self</a></li>
<li><a href="contribute.wiki">Code or Documentation To The Fossil Project — Contributing</a></li>
<li><a href="style.wiki">Code Style Guidelines — Source</a></li>
<li><a href="concepts.wiki">Concepts — Fossil Core</a></li>
<li><a href="server.wiki">Configure A Fossil Server — How To</a></li>
<li><a href="shunning.wiki">Content From Fossil — Shunning: Deleting</a></li>
<li><a href="contribute.wiki">Contributing Code or Documentation To The Fossil Project</a></li>
<li><a href="copyright-release.html">Contributor License Agreement</a></li>
<li><a href="concepts.wiki">Core Concepts — Fossil</a></li>
<li><a href="private.wiki">Creating, Syncing, and Deleting Private Branches</a></li>
<li><a href="qandc.wiki">Criticisms — Questions And</a></li>
<li><a href="custom_ticket.wiki">Customizing The Ticket System</a></li>
<li><a href="tech_overview.wiki">Databases Used By Fossil — SQLite</a></li>
<li><a href="shunning.wiki">Deleting Content From Fossil — Shunning:</a></li>
<li><a href="private.wiki">Deleting Private Branches — Creating, Syncing, and</a></li>
<li><a href="delta_encoder_algorithm.wiki">Delta Encoding Algorithm — Fossil</a></li>
<li><a href="delta_format.wiki">Delta Format — Fossil</a></li>
<li><a href="tech_overview.wiki">Design And Implementation Of Fossil — A Technical Overview Of The</a></li>
<li><a href="theory1.wiki">Design Of The Fossil DVCS — Thoughts On The</a></li>
<li><a href="embeddeddoc.wiki">Documentation — Embedded Project</a></li>
<li><a href="contribute.wiki">Documentation To The Fossil Project — Contributing Code or</a></li>
<li><a href="theory1.wiki">DVCS — Thoughts On The Design Of The Fossil</a></li>
|
| ︙ | ︙ | |||
77 78 79 80 81 82 83 84 85 86 87 88 89 90 | <li><a href="tech_overview.wiki">Overview Of The Design And Implementation Of Fossil — A Technical</a></li> <li><a href="index.wiki">Page — Home</a></li> <li><a href="password.wiki">Password Management And Authentication</a></li> <li><a href="quotes.wiki">People Are Saying About Fossil, Git, and DVCSes in General — Quotes: What</a></li> <li><a href="stats.wiki">Performance Statistics</a></li> <li><a href="../test/release-checklist.wiki">Pre-Release Testing Checklist</a></li> <li><a href="pop.wiki">Principles Of Operations</a></li> <li><a href="makefile.wiki">Process — The Fossil Build</a></li> <li><a href="contribute.wiki">Project — Contributing Code or Documentation To The Fossil</a></li> <li><a href="embeddeddoc.wiki">Project Documentation — Embedded</a></li> <li><a href="sync.wiki">Protocol — The Fossil Sync</a></li> <li><a href="faq.wiki">Questions — Frequently Asked</a></li> <li><a href="qandc.wiki">Questions And Criticisms</a></li> <li><a href="quickstart.wiki">Quick Start Guide — Fossil</a></li> | > | 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | <li><a href="tech_overview.wiki">Overview Of The Design And Implementation Of Fossil — A Technical</a></li> <li><a href="index.wiki">Page — Home</a></li> <li><a href="password.wiki">Password Management And Authentication</a></li> <li><a href="quotes.wiki">People Are Saying About Fossil, Git, and DVCSes in General — Quotes: What</a></li> <li><a href="stats.wiki">Performance Statistics</a></li> <li><a href="../test/release-checklist.wiki">Pre-Release Testing Checklist</a></li> <li><a href="pop.wiki">Principles Of Operations</a></li> <li><a href="private.wiki">Private Branches — Creating, Syncing, and Deleting</a></li> <li><a href="makefile.wiki">Process — The Fossil Build</a></li> <li><a href="contribute.wiki">Project — Contributing Code or Documentation To The Fossil</a></li> <li><a href="embeddeddoc.wiki">Project Documentation — Embedded</a></li> <li><a href="sync.wiki">Protocol — The Fossil Sync</a></li> <li><a href="faq.wiki">Questions — Frequently Asked</a></li> <li><a href="qandc.wiki">Questions And Criticisms</a></li> <li><a href="quickstart.wiki">Quick Start Guide — Fossil</a></li> |
| ︙ | ︙ | |||
98 99 100 101 102 103 104 105 106 107 108 109 110 111 | <li><a href="shunning.wiki">Shunning: Deleting Content From Fossil</a></li> <li><a href="style.wiki">Source Code Style Guidelines</a></li> <li><a href="tech_overview.wiki">SQLite Databases Used By Fossil</a></li> <li><a href="quickstart.wiki">Start Guide — Fossil Quick</a></li> <li><a href="stats.wiki">Statistics — Performance</a></li> <li><a href="style.wiki">Style Guidelines — Source Code</a></li> <li><a href="sync.wiki">Sync Protocol — The Fossil</a></li> <li><a href="custom_ticket.wiki">System — Customizing The Ticket</a></li> <li><a href="branching.wiki">Tagging — Branching, Forking, Merging, and</a></li> <li><a href="tech_overview.wiki">Technical Overview Of The Design And Implementation Of Fossil — A</a></li> <li><a href="../test/release-checklist.wiki">Testing Checklist — Pre-Release</a></li> <li><a href="makefile.wiki">The Fossil Build Process</a></li> <li><a href="sync.wiki">The Fossil Sync Protocol</a></li> <li><a href="webui.wiki">The Fossil Web Interface</a></li> | > | 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | <li><a href="shunning.wiki">Shunning: Deleting Content From Fossil</a></li> <li><a href="style.wiki">Source Code Style Guidelines</a></li> <li><a href="tech_overview.wiki">SQLite Databases Used By Fossil</a></li> <li><a href="quickstart.wiki">Start Guide — Fossil Quick</a></li> <li><a href="stats.wiki">Statistics — Performance</a></li> <li><a href="style.wiki">Style Guidelines — Source Code</a></li> <li><a href="sync.wiki">Sync Protocol — The Fossil</a></li> <li><a href="private.wiki">Syncing, and Deleting Private Branches — Creating,</a></li> <li><a href="custom_ticket.wiki">System — Customizing The Ticket</a></li> <li><a href="branching.wiki">Tagging — Branching, Forking, Merging, and</a></li> <li><a href="tech_overview.wiki">Technical Overview Of The Design And Implementation Of Fossil — A</a></li> <li><a href="../test/release-checklist.wiki">Testing Checklist — Pre-Release</a></li> <li><a href="makefile.wiki">The Fossil Build Process</a></li> <li><a href="sync.wiki">The Fossil Sync Protocol</a></li> <li><a href="webui.wiki">The Fossil Web Interface</a></li> |
| ︙ | ︙ |
Added www/private.wiki.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
<title>Private Branches</title>
By default, everything you check into a Fossil repository is shared
to all clones of that repository. In Fossil, you don't push and pull
individual branches; you push and pull everything all at once.
But sometimes users want to keep some private work that is not
shared with others. This might be a preliminary or experimental change
that needs further refinement before it is shared and which might never
be shared at all. To do this in Fossil, simply commit the change with
the --private command-line option:
<blockquote><pre>
fossil commit --private
</pre></blockquote>
The --private option causes Fossil to put the check-in in a new branch
named "private". That branch will not participate in subsequent clone,
sync, push, or pull operations. The branch will remain on the one local
repository where it was created. Note that you only use the --private
option for the first checkin that creates the private branch.
Additional checkins into the private branch remain private automatically.
<h2>Publishing Private Changes</h2>
After additional work, one might desire to publish the changes associated
with a private branch. The usual way to do this is to merge those
changes into a public branch. For example:
<blockquote><pre>
fossil update trunk
fossil merge private
fossil commit
</pre></blockquote>
The private branch remains private. (There is no way to convert a private
branch into a public branch.) But all of the changes associated with
the private branch are now folded into the public branch and are hence
visible to other users of the project.
<h2>Syncing Private Branches</h2>
A private branch normally stays on the one repository where it was
originally created. But sometimes you want to share private branches
with another repository. For example, you might be building a cross-platform
application and have separate repositories on your windows laptop,
your linux desktop, and your iMac. You can transfer private branches
between these machines by using the --private option on the "sync",
"push", "pull", and "clone" commands. For example, if you are running
"fossil server" on your linux box and you want to clone that repository
to your Mac, including all private branches, use:
<blockquote><pre>
fossil clone --private http://user@linux.localnetwork:8080/ mac-clone.fossil
</pre></blockquote>
You'll have to supply a username and password in order for this to work.
Fossil will not clone (or sync) private branches anonymously. Furthermore,
you have to enable the "Private" capability (the "x" capability) in order
to enable private branch syncing. The Admin ("a") and Superuser ("s") do
<u>not</u> imply Private ("x"); you'll have to set "x" in addition to
"a" or "s". This is a little extra work, but there is a purpose here:
the interface is designed to make it very difficult to accidently
sync a private branch to a public server. It is highly recommended that
you leave the "x" capability turned off on all repositories used for
collaboration (repositories to which many people push and pull) and
only enable "x" for local repositories when you need to share private
branches.
Private branch sync only works if you use the --private command-line option.
Private branches are never synced via the auto-sync mechanism. Once
again, this restriction is designed to make it hard to accidently
push private branches beyond their intended audience.
<h2>Purging Private Branches</h2>
You can remove all private branches from a repository using this command:
<blockquote><pre>
fossil scrub --private
</pre></blockquote>
Note that the above is a permanent and irreversible change. You will
be asked to confirm before continuing. Once the private branches are
removed, they cannot be retrieved (unless you have synced them to another
repository.) So be careful with the command.
<h2>Additional Nodes</h2>
All of the features above apply to <u>all</u> private branches in a
single repository at once. There is no mechanism in Fossil (currently)
that allows you to push, pull, clone, sync, or scrub and individual
private branch within a repository that contains multiple private
branches.
|