Mercurial > hg
view tests/test-revert-unknown.t @ 24993:be58bd30a478
amend: use dirstateguard instead of dirstate.invalidate
Before this patch, "cmdutil.amend()" uses "dirstate.invalidate()" as a
kind of "restore .hg/dirstate to the original status" during a failure.
But it just discards changes in memory, and doesn't actually restore
".hg/dirstate". Then, it can't work as expected, if "dirstate.write()"
is executed while processing.
This patch uses "dirstateguard" instead of "dirstate.invalidate()" to
restore ".hg/dirstate" at failure even if "dirstate.write()" is
executed before failure.
This is a part of preparations to fix the issue that the recent (in
memory) dirstate isn't visible to external process (e.g. "precommit"
hook).
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Thu, 07 May 2015 12:07:10 +0900 |
parents | 4c94b6d0fb1c |
children | 5c2a4f37eace |
line wrap: on
line source
$ hg init $ touch unknown $ touch a $ hg add a $ hg ci -m "1" $ touch b $ hg add b $ hg ci -m "2" Should show unknown $ hg status ? unknown $ hg revert -r 0 --all removing b Should show unknown and b removed $ hg status R b ? unknown Should show a and unknown $ ls a unknown