sapling/tests/test-diff-upgrade.t

291 lines
6.1 KiB
Perl
Raw Normal View History

2014-08-06 20:43:59 +04:00
#require execbit
2010-09-02 17:39:55 +04:00
$ cat <<EOF >> $HGRCPATH
> [extensions]
> autodiff = $TESTDIR/autodiff.py
> [diff]
> nodates = 1
> EOF
2010-09-02 17:39:55 +04:00
$ hg init repo
$ cd repo
2010-09-28 03:11:24 +04:00
2010-09-02 17:39:55 +04:00
make a combination of new, changed and deleted file
$ echo regular > regular
$ echo rmregular > rmregular
$ $PYTHON -c "file('bintoregular', 'wb').write('\0')"
2010-09-02 17:39:55 +04:00
$ touch rmempty
$ echo exec > exec
$ chmod +x exec
$ echo rmexec > rmexec
$ chmod +x rmexec
$ echo setexec > setexec
$ echo unsetexec > unsetexec
$ chmod +x unsetexec
$ echo binary > binary
$ $PYTHON -c "file('rmbinary', 'wb').write('\0')"
2010-09-02 17:39:55 +04:00
$ hg ci -Am addfiles
adding binary
2010-09-28 03:11:24 +04:00
adding bintoregular
2010-09-02 17:39:55 +04:00
adding exec
adding regular
adding rmbinary
adding rmempty
adding rmexec
adding rmregular
adding setexec
adding unsetexec
$ echo regular >> regular
$ echo newregular >> newregular
$ rm rmempty
$ touch newempty
$ rm rmregular
$ echo exec >> exec
$ echo newexec > newexec
2010-09-28 03:11:24 +04:00
$ echo bintoregular > bintoregular
2010-09-02 17:39:55 +04:00
$ chmod +x newexec
$ rm rmexec
$ chmod +x setexec
$ chmod -x unsetexec
$ $PYTHON -c "file('binary', 'wb').write('\0\0')"
$ $PYTHON -c "file('newbinary', 'wb').write('\0')"
2010-09-02 17:39:55 +04:00
$ rm rmbinary
$ hg addremove -s 0
adding newbinary
adding newempty
adding newexec
adding newregular
removing rmbinary
removing rmempty
removing rmexec
removing rmregular
git=no: regular diff for all files
$ hg autodiff --git=no
2010-09-28 03:11:24 +04:00
diff -r a66d19b9302d binary
2010-09-02 17:39:55 +04:00
Binary file binary has changed
2010-09-28 03:11:24 +04:00
diff -r a66d19b9302d bintoregular
Binary file bintoregular has changed
diff -r a66d19b9302d exec
2010-09-02 17:39:55 +04:00
--- a/exec
+++ b/exec
@@ -1,1 +1,2 @@
exec
+exec
2010-09-28 03:11:24 +04:00
diff -r a66d19b9302d newbinary
2010-09-02 17:39:55 +04:00
Binary file newbinary has changed
2010-09-28 03:11:24 +04:00
diff -r a66d19b9302d newexec
2010-09-02 17:39:55 +04:00
--- /dev/null
+++ b/newexec
@@ -0,0 +1,1 @@
+newexec
2010-09-28 03:11:24 +04:00
diff -r a66d19b9302d newregular
2010-09-02 17:39:55 +04:00
--- /dev/null
+++ b/newregular
@@ -0,0 +1,1 @@
+newregular
2010-09-28 03:11:24 +04:00
diff -r a66d19b9302d regular
2010-09-02 17:39:55 +04:00
--- a/regular
+++ b/regular
@@ -1,1 +1,2 @@
regular
+regular
2010-09-28 03:11:24 +04:00
diff -r a66d19b9302d rmbinary
2010-09-02 17:39:55 +04:00
Binary file rmbinary has changed
2010-09-28 03:11:24 +04:00
diff -r a66d19b9302d rmexec
2010-09-02 17:39:55 +04:00
--- a/rmexec
+++ /dev/null
@@ -1,1 +0,0 @@
-rmexec
2010-09-28 03:11:24 +04:00
diff -r a66d19b9302d rmregular
2010-09-02 17:39:55 +04:00
--- a/rmregular
+++ /dev/null
@@ -1,1 +0,0 @@
-rmregular
git=yes: git diff for single regular file
$ hg autodiff --git=yes regular
diff --git a/regular b/regular
--- a/regular
+++ b/regular
@@ -1,1 +1,2 @@
regular
+regular
2010-09-28 03:11:24 +04:00
git=auto: regular diff for regular files and non-binary removals
2010-09-02 17:39:55 +04:00
2010-09-28 03:11:24 +04:00
$ hg autodiff --git=auto regular newregular rmregular rmexec
diff -r a66d19b9302d newregular
2010-09-02 17:39:55 +04:00
--- /dev/null
+++ b/newregular
@@ -0,0 +1,1 @@
+newregular
2010-09-28 03:11:24 +04:00
diff -r a66d19b9302d regular
2010-09-02 17:39:55 +04:00
--- a/regular
+++ b/regular
@@ -1,1 +1,2 @@
regular
+regular
2010-09-28 03:11:24 +04:00
diff -r a66d19b9302d rmexec
2010-09-02 17:39:55 +04:00
--- a/rmexec
+++ /dev/null
@@ -1,1 +0,0 @@
-rmexec
2010-09-28 03:11:24 +04:00
diff -r a66d19b9302d rmregular
2010-09-02 17:39:55 +04:00
--- a/rmregular
+++ /dev/null
@@ -1,1 +0,0 @@
-rmregular
2010-09-28 03:11:24 +04:00
$ for f in exec newexec setexec unsetexec binary newbinary newempty rmempty rmbinary bintoregular; do
2010-09-02 17:39:55 +04:00
> echo
> echo '% git=auto: git diff for' $f
> hg autodiff --git=auto $f
> done
% git=auto: git diff for exec
2010-09-28 03:11:24 +04:00
diff -r a66d19b9302d exec
2010-09-02 17:39:55 +04:00
--- a/exec
+++ b/exec
@@ -1,1 +1,2 @@
exec
+exec
% git=auto: git diff for newexec
diff --git a/newexec b/newexec
new file mode 100755
--- /dev/null
+++ b/newexec
@@ -0,0 +1,1 @@
+newexec
% git=auto: git diff for setexec
diff --git a/setexec b/setexec
old mode 100644
new mode 100755
% git=auto: git diff for unsetexec
diff --git a/unsetexec b/unsetexec
old mode 100755
new mode 100644
% git=auto: git diff for binary
diff --git a/binary b/binary
index a9128c283485202893f5af379dd9beccb6e79486..09f370e38f498a462e1ca0faa724559b6630c04f
GIT binary patch
literal 2
Jc${Nk0000200961
% git=auto: git diff for newbinary
diff --git a/newbinary b/newbinary
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..f76dd238ade08917e6712764a16a22005a50573d
2010-09-02 17:39:55 +04:00
GIT binary patch
literal 1
Ic${MZ000310RR91
% git=auto: git diff for newempty
diff --git a/newempty b/newempty
new file mode 100644
% git=auto: git diff for rmempty
diff --git a/rmempty b/rmempty
deleted file mode 100644
2010-09-28 03:11:24 +04:00
% git=auto: git diff for rmbinary
diff --git a/rmbinary b/rmbinary
deleted file mode 100644
index f76dd238ade08917e6712764a16a22005a50573d..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
2010-09-28 03:11:24 +04:00
% git=auto: git diff for bintoregular
diff --git a/bintoregular b/bintoregular
index f76dd238ade08917e6712764a16a22005a50573d..9c42f2b6427d8bf034b7bc23986152dc01bfd3ab
GIT binary patch
literal 13
Uc$`bh%qz(+N=+}#Ni5<5043uE82|tP
2010-09-02 17:39:55 +04:00
2010-09-02 17:39:55 +04:00
git=warn: regular diff with data loss warnings
$ hg autodiff --git=warn
2010-09-28 03:11:24 +04:00
diff -r a66d19b9302d binary
2010-09-02 17:39:55 +04:00
Binary file binary has changed
2010-09-28 03:11:24 +04:00
diff -r a66d19b9302d bintoregular
Binary file bintoregular has changed
diff -r a66d19b9302d exec
2010-09-02 17:39:55 +04:00
--- a/exec
+++ b/exec
@@ -1,1 +1,2 @@
exec
+exec
2010-09-28 03:11:24 +04:00
diff -r a66d19b9302d newbinary
2010-09-02 17:39:55 +04:00
Binary file newbinary has changed
2010-09-28 03:11:24 +04:00
diff -r a66d19b9302d newexec
2010-09-02 17:39:55 +04:00
--- /dev/null
+++ b/newexec
@@ -0,0 +1,1 @@
+newexec
2010-09-28 03:11:24 +04:00
diff -r a66d19b9302d newregular
2010-09-02 17:39:55 +04:00
--- /dev/null
+++ b/newregular
@@ -0,0 +1,1 @@
+newregular
2010-09-28 03:11:24 +04:00
diff -r a66d19b9302d regular
2010-09-02 17:39:55 +04:00
--- a/regular
+++ b/regular
@@ -1,1 +1,2 @@
regular
+regular
2010-09-28 03:11:24 +04:00
diff -r a66d19b9302d rmbinary
2010-09-02 17:39:55 +04:00
Binary file rmbinary has changed
2010-09-28 03:11:24 +04:00
diff -r a66d19b9302d rmexec
2010-09-02 17:39:55 +04:00
--- a/rmexec
+++ /dev/null
@@ -1,1 +0,0 @@
-rmexec
2010-09-28 03:11:24 +04:00
diff -r a66d19b9302d rmregular
2010-09-02 17:39:55 +04:00
--- a/rmregular
+++ /dev/null
@@ -1,1 +0,0 @@
-rmregular
data lost for: binary
2010-09-28 03:11:24 +04:00
data lost for: bintoregular
2010-09-02 17:39:55 +04:00
data lost for: newbinary
data lost for: newempty
data lost for: newexec
2010-09-28 03:11:24 +04:00
data lost for: rmbinary
2010-09-02 17:39:55 +04:00
data lost for: rmempty
data lost for: setexec
data lost for: unsetexec
git=abort: fail on execute bit change
$ hg autodiff --git=abort regular setexec
abort: losing data for setexec
2010-09-17 02:51:32 +04:00
[255]
2010-09-02 17:39:55 +04:00
git=abort: succeed on regular file
$ hg autodiff --git=abort regular
2010-09-28 03:11:24 +04:00
diff -r a66d19b9302d regular
2010-09-02 17:39:55 +04:00
--- a/regular
+++ b/regular
@@ -1,1 +1,2 @@
regular
+regular
$ cd ..