[darcs-users] Fwd: Towards a conflict-free revision control system.

Kari Hoijarvi hoijarvi at seas.wustl.edu
Fri Jan 16 17:54:23 UTC 2009


Jean-Philippe Bernardy wrote:
> On Fri, Jan 16, 2009 at 3:30 PM, Kari Hoijarvi <hoijarvi at seas.wustl.edu> wrote:
>
>
>   
>> Suppose I have some optimizations to do, and I add one line to call a
>> profiler, happily running test suite and accidentally pushing that change to
>> main repository. Obviously, my fellow friends Alice, Bob and Charlie are not
>> very happy: They have a release build to make and profiler routines are not
>> found by linker. Alice deletes my line, and pushes her changes. So does Bob.
>> And Charlie. The line is now added once and deleted three times. Existence
>> count = -2
>>     
>
> At this point the external representation will contain a "note" that
> the line has been
> removed more than once. The code will not compile at all in the "main"
> repository.
>
>   
I see, I didn't get this when I read your paper. This explains a lot.

Darcs 1 conflicts with identical changes , darcs 2 does not. I think 
darcs 2 does the intuitive good thing, but I haven't thought what are 
the consequences when you unrecord such patches, I haven't used darcs2 
enough to run to such situation.  Time will tell, I use unrecord a lot 
when prototyping.

> Our system strives for simple guarantees, in the hope that intuition
> can be quickly gained...
> minimizing your medical costs :)
>
>   
I didn't get this either. So your approach really separates internal 
conflicts with user conflicts. It starts to make sense to me now.

Thanks and keep posting, Kari


More information about the darcs-users mailing list