Strategies for push/merge problem?

Martin Geisler mg at daimi.au.dk
Tue Jul 29 12:12:07 CDT 2008


Sean Russell <hg at ser1.net> writes:

>> but with the push model you can't be sure that someone else hasn't
>> pushed conflicting changes to another part of the tree at the same
>> time.
>
> Yes, you can be sure that other people haven't pushed conflicting
> changes. Subversion will *not* let you commit a change if you're
> pushing files that haven't been updated to the most recent version
> prior to the push. [...]

I have used Subversion for quite some time and I thought I understood
its model... so I was very surpriced when I recently found out that
Subversion allows two users to create revisions which have existed on
neither users machine:

    A: r0 -> edit foo.c, verify tests pass, commit -> r1
    B: r0 -> edit bar.c, verify tests pass, commit -> r2

Now r2 does not correspond to the view developer B had in his working
copy when he committed! And he tested a revision "r2 - changes in r1"
which cannot easily be reproduced. That is quite messy...

The above is from this thread:

  http://thread.gmane.org/gmane.comp.version-control.mercurial.general/7662/focus=7707

-- 
Martin Geisler

VIFF (Virtual Ideal Functionality Framework) brings easy and efficient
SMPC (Secure Multi-Party Computation) to Python. See: http://viff.dk/.


More information about the Mercurial mailing list