hi, i am struggling to believe that darcs doesn't have
cvs-style
branches, but i think i am almost there.
[the setting] i want to have a central repository for a
number of
developers and anonymous users that contains all the
development
stages of a software project. some of these stages
obviously are
conflicting with each other, and merging only makes sense
along the
tree branches.
[the cvs way] the global set of all patches are arranged in
a tree, and
although this global patch set resides in one repository,
consistency
is attempted along the branches only.
[the darcs way] a repository is a patch set without any
internal
structure beyond that naturally imposed on it by the patch
algebra.
this leaves us two options:
a) tags following a suitable naming convention may be
used to create
the illusion of a tree structure. (this is what should
be done
in cvs anyway, because the internal revision numbers
are a little
impractical useless.) this leads to a very bizarre
working copy
in the central repo, but as long as nobody makes a
mistake it'll
be fine.
b) the central repository is a growing directory
containing
overlapping repositories, each representing one branch.
for each
new branch, a new repo is forked off the parent branch
in a fresh
sub-directory using 'darcs get' on the local file
system. which
is not a space problem, because hard links are used to
keep the
disk usage near optimal.
[my questions]
1. Is the b) the recommended way of doing it? I think I
could get
used to it, although I think it's really bizarre. (-:
2. Is there anything wrong with option a)? I am interested
in its
technical errors as well as questions of elegance and
style. (I
am aware that 'darcs get' shouldn't be called there
without an
explicit tag name.)
3. Is there any other way to do branches?
I am really starting to enjoy this. (:
thanks a lot,
m.
_______________________________________________
darcs-users mailing list
darcs-users darcs.net
http://www.abridgegame.org/mailman/listinfo/darcs-users
a>
|