##// END OF EJS Templates
tryimportone: use dirstateguard instead of beginparentchange/endparentchange...
tryimportone: use dirstateguard instead of beginparentchange/endparentchange To fix the issue that the recent (in memory) dirstate isn't visible to external process (e.g. "precommit" hook), a subsequent patch makes "localrepository.commit()" invoke "dirstate.write()" in it. This change will make "beginparentchange()" and "endparentchange()" on dirstate in "cmdutil.tryimportone()" meaningless, because: - "dirstate.write()" writes changed data into ".hg/dirstate", but - aborting between "beginparentchange()" and "endparentchange()" doesn't cause any restoring ".hg/dirstate" it just discards changes in memory. This patch uses "dirstateguard" instead of "beginparentchange()" and "endparentchange()" in "cmdutil.tryimportone()" to restore ".hg/dirstate" during a failure even if "dirstate.write()" is executed before a failure. This patch uses "lockmod.release(dsguard)" instead of "dsguard.release()", because processing may be aborted before assignment to "dsguard" , and the "if dsguard" examination for safety is redundant.

File last commit:

r22046:7a9cbb31 default
r24995:0579b0c2 default
Show More
test-archive-symlinks.t
40 lines | 676 B | text/troff | Tads3Lexer
/ tests / test-archive-symlinks.t
Matt Mackall
tests: replace exit 80 with #require
r22046 #require symlink
Martin Geisler
tests: unify test-archive-symlinks
r11854
$ origdir=`pwd`
$ hg init repo
$ cd repo
$ ln -s nothing dangling
avoid tar warnings about old timestamp
$ hg ci -d '2000-01-01 00:00:00 +0000' -qAm 'add symlink'
$ hg archive -t files ../archive
$ hg archive -t tar -p tar ../archive.tar
$ hg archive -t zip -p zip ../archive.zip
files
$ cd "$origdir"
$ cd archive
Thomas Arendsen Hein
tests: make tests work if directory contains special characters...
r16350 $ "$TESTDIR/readlink.py" dangling
Martin Geisler
tests: unify test-archive-symlinks
r11854 dangling -> nothing
tar
$ cd "$origdir"
$ tar xf archive.tar
$ cd tar
Thomas Arendsen Hein
tests: make tests work if directory contains special characters...
r16350 $ "$TESTDIR/readlink.py" dangling
Martin Geisler
tests: unify test-archive-symlinks
r11854 dangling -> nothing
zip
$ cd "$origdir"
Matt Mackall
tests: suppress spurious lchmod error from unzip (issue4088)...
r21216 $ unzip archive.zip > /dev/null 2>&1
Martin Geisler
tests: unify test-archive-symlinks
r11854 $ cd zip
Thomas Arendsen Hein
tests: make tests work if directory contains special characters...
r16350 $ "$TESTDIR/readlink.py" dangling
Martin Geisler
tests: unify test-archive-symlinks
r11854 dangling -> nothing
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..