[darcs-users] Re: How SVK does revision numbers

Michael G Schwern schwern at pobox.com
Mon Apr 4 17:38:44 UTC 2005


On Mon, Apr 04, 2005 at 07:11:15PM +0200, Juliusz Chroboczek wrote:
> > In my experience with SVK (I'm a minor developer and it is my primary 
> > version control system) I can use revision numbers in SVK for everything I
> > can use them in a non-distributed environment with the exception of using
> > them as global identifiers.  That is, I can't tell another developer "Hey,
> > look at change #1293".
> 
> I think that makes sense in the framework of svk, which is a
> centralised revision system that grew distributed.  It would be
> artificial for Darcs, which is a distributed system from the outset.

That is incorrect.  SVK was distributed from day one.  Unless you're
considering it to merely be an extension of SVN.  It is true that using
SVN's API internally does lend a bias towards SVN-like behaviors.  However,
I don't think that leads directly to saying that its use of revision
numbers in a distributed environment has not been thought out.


> In particular, per-repo revision numbers would be very confusing in
> the presence of multiple branches in Darcs.  Darcs doesn't have the
> notion of branch per se; rather, it leverages its distributed nature
> and considers each branch as a separate repo; thus, wich a svk-like
> version system versions would be local to a single branch.
> 
> So no, I think implementing such a versioning system in Darcs would be
> confusing, at least for people who, like me, like to work in multiple
> branches at a time.

Didn't think of that, I don't branch much.  Too much scarring from CVS I
guess.

How confusing is it?  The rule is simple, "revision numbers are local to
one repository".  There might be a temptation to assume that 123 in one
local branch is the same as 123 in another local branch, but one would
think there would be similar temptations associated with the way branches
work in darcs.

The fact that you have to chdir into a completely different directory would
help strengthen the idea that branches == different repo.  However, I
suppose when pulling patches from one branch to another you can still
use the same name... usually.





More information about the darcs-users mailing list