On Fri, Jan 16, 2009 at 3:30 PM, Kari Hoijarvi <hoija...@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.


> When I pull Alice's changes, the patch deletes my profiler call. I add it
> back, but when I pull Bob's changes it goes away again. I pull Charlie's
> changes, and notice the line is missing.

Add this point existence count is -1 in your repo.
There is a note about that in the external representation.
Removing that note is equivalent to doing "+1".

> I add it back again, run tests, and
> record my change.

Here you removed the "-1" note and added. so +2 in total.
The existence count is 1.

>The line goes away! At this point I'm probably calling my
> analyst or filing source control system bug.
> So if something is mathematically correct, it's not necessarily intuitive or
> useful.

Our system strives for simple guarantees, in the hope that intuition
can be quickly gained...
minimizing your medical costs :)

> Good luck for you improving merging algorithms though!

The good thing about our system is that there is no merge going on
beyond trivial additions.
We only need (in theory) to have good translations between a (cleverly
chosen) internal representation
and the external one.

> What really has happened:
>
> Darcs has made me dislike more and more text files as source storage method.
> So many conflicts I have in TortoiseDarcs 2 are just formatting issues,
> nothing else, and I'm just a solo developer with repositories in two
> machines. Getting rid of text would improve situation more than attempting
> to merge text right. For example whitespace formatting patches would simply
> go away.

Comparing this to my above comment, I think we have very close goals!

Cheers,
JP.
_______________________________________________
darcs-users mailing list
darcs-users@darcs.net
http://lists.osuosl.org/mailman/listinfo/darcs-users

Reply via email to