On Wed, Sep 8, 2010 at 12:30 PM, Nolan Darilek <no...@thewordnerd.info>wrote:

>
> 2. Following up on my bundle question earlier, is it possible to do a
> partial sync between two repositories? Say for instance I don't want to
> grant commit access to my main repository to every contributor. Could I
> set up a quarantine repository to which anyone can commit, then pull
> changes I like into the main repository? Or is there no way to pull only
> a single branch from another repo when doing a sync?
>


Fossil does not support partial syncs.

To understand why this is, you need to understand a little more about how
sync works in Fossil.  (You can read more about the Fossil file format and
the sync mechanism online - the following is a quick summary).  A Fossil
repository is just an unordered bag of "artifacts".  Each version of each
file is a separate artifact.  There are also "control" artifacts that show
how the various file artifacts are grouped together into versions, or that
assign tags to versions, or that contain wiki or ticket edits, and so
forth.  The SQLite database in which the bag of artifacts is stored
maintains other meta-information that helps various queries run faster.  But
all of that meta information can be reconstructed from the original raw
artifacts.  In fact, that is exactly what the "fossil rebuild" command does.

A key point is that the sync mechanism does not know anything about the
meta-information or the internal format of the artifacts.  All sync knows is
that there is some set of artifacts on one side of the connection, and
another set of artifacts on the other side of the connection, and its job is
to exchange differences so that both sides of the connection hold the same
set of artifacts.

With that in mind, you can probably see why Fossil does not do a partial
sync.  The sync mechanism does not know which artifacts are associated with
which branches.  And so it can't know which subset of artifacts to sync.


-- 
D. Richard Hipp
d...@sqlite.org
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to