Mercurial > hg
view tests/test-audit-path.t @ 13425:0fe36c347c00
bookmarks: forbid \0 \r \n : in bookmark names (BC)
We restrict : to 1. make it easer to convert bookmarks to git branches,
2. use : later for a syntax to push a local bookmark to a remote bookmark
of a different name. \0, \n, \r are fobbidden they are used to separate
bookmarks in the bookmark file.
This change breaks backward compatbility as ':' was an allowed character in
previous versions.
author | David Soria Parra <dsp@php.net> |
---|---|
date | Wed, 16 Feb 2011 18:36:45 +0100 |
parents | 6cc4b14fb76b |
children | 93452579df9e |
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/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 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]