Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 11 May 2014 01:14:34 -0700] rev 928
update 3.3.0 readme to include minimal mercurial requirement
This clarify the situation.
Greg Ward <greg@gerg.ca> [Tue, 15 Apr 2014 14:06:47 -0400] rev 927
evolve: fix grammar in a comment
Greg Ward <greg@gerg.ca> [Tue, 15 Apr 2014 14:06:20 -0400] rev 926
README: document how to run the tests
Faheem Mitha <faheem@faheem.info> [Sat, 03 May 2014 03:46:21 +0530] rev 925
uncommit: change 'kill' to 'prune' in error message
'kill' was renamed to 'prune' Long time ago.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 29 Apr 2014 16:31:21 -0700] rev 924
readme: the forgotten update strike again
Sean Farley <sean.michael.farley@gmail.com> [Fri, 25 Apr 2014 19:58:33 -0500] rev 923
evolve: protect call to rebase within a wlock (#42, #35, #16)
Without a wlock, repo.commit would blow away the dirstate's parents on OSes
that have no 'os.symlink' support in python, leading evolve to produce a merge
instead of a rebase. If a user ran the rebase command instead of evolve, then
things would work because rebase is wrapped in a giant wlock.
Unfortunately, we can't use the same idea of wrapping the evolve command in one
giant wlock because that's too early in the process. If the lock did wrap the
entire evolve command, then the working directory would save its current
parents which, since rebase hasn't been called yet, would be just
p1.
Therefore, we need to obtain the lock *after* the dirstate's parents are
changed but *before* the call to rebase. This way ensures that when a conflict
happens the working directory correctly shows both parent changeset.