mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 15:27:13 +03:00
tests: unify test-hardlinks-safety
This commit is contained in:
parent
e339f22cb2
commit
9b6356a565
@ -1,82 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# some implementations of cp can't create hardlinks
|
||||
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
|
||||
echo % no diff if hardlink
|
||||
diff x/a y/a
|
||||
|
||||
# test mq hardlinking
|
||||
echo "[extensions]" >> $HGRCPATH
|
||||
echo "mq=" >> $HGRCPATH
|
||||
|
||||
echo % init
|
||||
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
|
||||
|
||||
hg qpush
|
||||
|
||||
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
|
||||
|
||||
hg qpush
|
||||
|
||||
cat .hg/patches/status
|
||||
echo %
|
||||
cat .hg/patches/series
|
||||
echo %%%
|
||||
cat ../a/.hg/patches/status
|
||||
echo %
|
||||
cat ../a/.hg/patches/series
|
||||
|
||||
# test tags hardlinking
|
||||
hg qdel -r qbase:qtip
|
||||
|
||||
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
|
||||
echo %%%
|
||||
cat .hgtags
|
||||
echo %
|
||||
cat .hg/localtags
|
||||
echo %%%
|
||||
cat ../b/.hgtags
|
||||
echo %
|
||||
cat ../b/.hg/localtags
|
@ -1,29 +0,0 @@
|
||||
% no diff if hardlink
|
||||
% init
|
||||
adding foo to series file
|
||||
applying foo
|
||||
now at: foo
|
||||
adding bar to series file
|
||||
applying bar
|
||||
now at: bar
|
||||
430ed4828a74fa4047bc816a25500f7472ab4bfe:foo
|
||||
4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c:bar
|
||||
%
|
||||
foo
|
||||
bar
|
||||
%%%
|
||||
430ed4828a74fa4047bc816a25500f7472ab4bfe:foo
|
||||
%
|
||||
foo
|
||||
patch foo finalized without changeset message
|
||||
patch bar finalized without changeset message
|
||||
%%%
|
||||
4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c foo
|
||||
430ed4828a74fa4047bc816a25500f7472ab4bfe bar
|
||||
%
|
||||
4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c lfoo
|
||||
430ed4828a74fa4047bc816a25500f7472ab4bfe lbar
|
||||
%%%
|
||||
4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c foo
|
||||
%
|
||||
4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c lfoo
|
106
tests/test-hardlinks-safety.t
Normal file
106
tests/test-hardlinks-safety.t
Normal file
@ -0,0 +1,106 @@
|
||||
|
||||
# some implementations of cp can't create hardlinks
|
||||
$ 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
|
||||
|
Loading…
Reference in New Issue
Block a user