test-hardlinks-safety.t
106 lines
| 2.0 KiB
| text/troff
|
Tads3Lexer
/ tests / test-hardlinks-safety.t
Matt Mackall
|
r12328 | some implementations of cp can't create hardlinks | ||
Adrian Buehlmann
|
r12306 | |||
$ cat > cp.py <<EOF | ||||
> from mercurial import util | ||||
> import sys | ||||
> util.copyfiles(sys.argv[1], sys.argv[2], hardlink=True) | ||||
> EOF | ||||
Test hardlinking outside hg: | ||||
$ mkdir x | ||||
$ echo foo > x/a | ||||
$ python cp.py x y | ||||
$ echo bar >> y/a | ||||
No diff if hardlink: | ||||
$ diff x/a y/a | ||||
Test mq hardlinking: | ||||
$ echo "[extensions]" >> $HGRCPATH | ||||
$ echo "mq=" >> $HGRCPATH | ||||
$ hg init a | ||||
$ cd a | ||||
$ hg qimport -n foo - << EOF | ||||
> # HG changeset patch | ||||
> # Date 1 0 | ||||
> diff -r 2588a8b53d66 a | ||||
> --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | ||||
> +++ b/a Wed Jul 23 15:54:29 2008 +0200 | ||||
> @@ -0,0 +1,1 @@ | ||||
> +a | ||||
> EOF | ||||
adding foo to series file | ||||
$ hg qpush | ||||
applying foo | ||||
now at: foo | ||||
$ cd .. | ||||
$ python cp.py a b | ||||
$ cd b | ||||
$ hg qimport -n bar - << EOF | ||||
> # HG changeset patch | ||||
> # Date 2 0 | ||||
> diff -r 2588a8b53d66 a | ||||
> --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | ||||
> +++ b/b Wed Jul 23 15:54:29 2008 +0200 | ||||
> @@ -0,0 +1,1 @@ | ||||
> +b | ||||
> EOF | ||||
adding bar to series file | ||||
$ hg qpush | ||||
applying bar | ||||
now at: bar | ||||
$ cat .hg/patches/status | ||||
430ed4828a74fa4047bc816a25500f7472ab4bfe:foo | ||||
4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c:bar | ||||
$ cat .hg/patches/series | ||||
foo | ||||
bar | ||||
$ cat ../a/.hg/patches/status | ||||
430ed4828a74fa4047bc816a25500f7472ab4bfe:foo | ||||
$ cat ../a/.hg/patches/series | ||||
foo | ||||
Test tags hardlinking: | ||||
$ hg qdel -r qbase:qtip | ||||
patch foo finalized without changeset message | ||||
patch bar finalized without changeset message | ||||
$ hg tag -l lfoo | ||||
$ hg tag foo | ||||
$ cd .. | ||||
$ python cp.py b c | ||||
$ cd c | ||||
$ hg tag -l -r 0 lbar | ||||
$ hg tag -r 0 bar | ||||
$ cat .hgtags | ||||
4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c foo | ||||
430ed4828a74fa4047bc816a25500f7472ab4bfe bar | ||||
$ cat .hg/localtags | ||||
4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c lfoo | ||||
430ed4828a74fa4047bc816a25500f7472ab4bfe lbar | ||||
$ cat ../b/.hgtags | ||||
4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c foo | ||||
$ cat ../b/.hg/localtags | ||||
4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c lfoo | ||||