Mercurial > hg
view tests/test-audit-path.t @ 14151:1fe82c93b8e2
convert: also catch missing revlogs when introduced in repo roots
The previous behaviour was almost as if convert.hg.ignoreerrors was always set
for revisions without parents, except that errors were silently ignored. Revlog
errors are handled as a side effect of getcopies(), but getcopies() was only
called when convert.hg.ignoreerrors was set.
Now we always call self.getcopies for root revisions, not only when
convert.hg.ignoreerrors is set, just like we do on all other revisions.
The extra call might be a bit expensive, but the proper fix for that would be
to catch these errors in another way.
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Sun, 01 May 2011 17:34:16 +0200 |
parents | cd3032437064 |
children | e0348815e806 |
line wrap: on
line source
$ hg init should fail $ hg add .hg/00changelog.i abort: path contains illegal component: .hg/00changelog.i [255] $ mkdir a $ echo a > a/a $ hg ci -Ama adding a/a $ ln -s a b $ echo b > a/b should fail $ hg add b/b abort: path 'b/b' traverses symbolic link 'b' [255] should succeed $ hg add b should still fail - maybe $ hg add b/b abort: path 'b/b' traverses symbolic link 'b' [255] unbundle tampered bundle $ hg init target $ cd target $ hg unbundle $TESTDIR/bundles/tampered.hg adding changesets adding manifests adding file changes added 5 changesets with 6 changes to 6 files (+4 heads) (run 'hg heads' to see heads, 'hg merge' to merge) attack .hg/test $ hg manifest -r0 .hg/test $ hg update -Cr0 abort: path contains illegal component: .hg/test [255] attack foo/.hg/test $ hg manifest -r1 foo/.hg/test $ hg update -Cr1 abort: path 'foo/.hg/test' is inside nested repo 'foo' [255] attack back/test where back symlinks to .. $ hg manifest -r2 back back/test $ hg update -Cr2 abort: path 'back/test' traverses symbolic link 'back' [255] attack ../test $ hg manifest -r3 ../test $ hg update -Cr3 abort: path contains illegal component: ../test [255] attack /tmp/test $ hg manifest -r4 /tmp/test $ hg update -Cr4 abort: No such file or directory: $TESTTMP/target//tmp/test [255]