[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gnu-arch-users] Re: Automatic Disconnected Operation
From: |
Juliusz Chroboczek |
Subject: |
Re: [Gnu-arch-users] Re: Automatic Disconnected Operation |
Date: |
28 Oct 2004 23:47:01 +0200 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.1 |
Sorry, for the late reply, I tend to read g-a-u in batches.
> >> 1. I do a darcs get to download the repository
> >> 2. I hack around, using "darcs record" to commit each change
> >> Changes are only saved locally.
> >> 3. When I have a network connection again, I "darcs push" to upload
> >> my changes to the server.
Yes, that is the very property that prompted me to switch from Arch to Darcs.
> > How does it handle the case where someone else has committed
> > patches to the same branch in the mean time. Of course it can try
> > to reorder those patches using its patch-algebra (which is quite
> > handy in this particular case), but what if there's a real
> > conflict?
It commits a conflict ;-)
It will commit a special data structure, known as a merger, that
represents an unresolved merge conflict. Someone checking out an
unresolved conflict gets the common ancestor of the two conflicting
patches. You can get both versions (with conflict markers) by using
darcs resolve.
Resolving a conflict consists in committing a new version that depends
on both branches of the conflict.
At least, that's the theory. In practice, manipulating repositories
with a lot of mergers in them is painfully slow, so darcs users tend
to avoid conflicts. Which is a pity.
Juliusz Chroboczek