Mercurial > hg
diff tests/test-diff-upgrade.out @ 10189:e451e599fbcf
patch: support diff data loss detection and upgrade
In worst case, generating diff in upgrade mode can be two times more expensive
than generating it in git mode directly: we may have to regenerate the whole
diff again whenever a git feature is detected. Also, the first diff attempt is
completely buffered instead of being streamed. That said, even without having
profiled it yet, I am convinced we can fast-path the upgrade mode if necessary
were it to be used in regular diff commands, and not only in mq where avoiding
data loss is worth the price.
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Fri, 01 Jan 2010 20:54:05 +0100 |
parents | |
children | 9b3913baba0c |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-diff-upgrade.out Fri Jan 01 20:54:05 2010 +0100 @@ -0,0 +1,186 @@ +% make a combination of new, changed and deleted file +adding binary +adding exec +adding regular +adding rmbinary +adding rmempty +adding rmexec +adding rmregular +adding setexec +adding unsetexec +adding newbinary +adding newempty +adding newexec +adding newregular +removing rmbinary +removing rmempty +removing rmexec +removing rmregular +% git=no: regular diff for all files +diff -r b3f053cd7c7f binary +Binary file binary has changed +diff -r b3f053cd7c7f exec +--- a/exec ++++ b/exec +@@ -1,1 +1,2 @@ + exec ++exec +diff -r b3f053cd7c7f newbinary +Binary file newbinary has changed +diff -r b3f053cd7c7f newexec +--- /dev/null ++++ b/newexec +@@ -0,0 +1,1 @@ ++newexec +diff -r b3f053cd7c7f newregular +--- /dev/null ++++ b/newregular +@@ -0,0 +1,1 @@ ++newregular +diff -r b3f053cd7c7f regular +--- a/regular ++++ b/regular +@@ -1,1 +1,2 @@ + regular ++regular +diff -r b3f053cd7c7f rmbinary +Binary file rmbinary has changed +diff -r b3f053cd7c7f rmexec +--- a/rmexec ++++ /dev/null +@@ -1,1 +0,0 @@ +-rmexec +diff -r b3f053cd7c7f rmregular +--- a/rmregular ++++ /dev/null +@@ -1,1 +0,0 @@ +-rmregular +% git=no: git diff for single regular file +diff --git a/regular b/regular +--- a/regular ++++ b/regular +@@ -1,1 +1,2 @@ + regular ++regular +% git=auto: regular diff for regular files and removals +diff -r b3f053cd7c7f newregular +--- /dev/null ++++ b/newregular +@@ -0,0 +1,1 @@ ++newregular +diff -r b3f053cd7c7f regular +--- a/regular ++++ b/regular +@@ -1,1 +1,2 @@ + regular ++regular +diff -r b3f053cd7c7f rmbinary +Binary file rmbinary has changed +diff -r b3f053cd7c7f rmexec +--- a/rmexec ++++ /dev/null +@@ -1,1 +0,0 @@ +-rmexec +diff -r b3f053cd7c7f rmregular +--- a/rmregular ++++ /dev/null +@@ -1,1 +0,0 @@ +-rmregular +% git=auto: git diff for exec +diff -r b3f053cd7c7f exec +--- 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 0000000000000000000000000000000000000000..f76dd238ade08917e6712764a16a22005a50573d +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 +% git=warn: regular diff with data loss warnings +diff -r b3f053cd7c7f binary +Binary file binary has changed +diff -r b3f053cd7c7f exec +--- a/exec ++++ b/exec +@@ -1,1 +1,2 @@ + exec ++exec +diff -r b3f053cd7c7f newbinary +Binary file newbinary has changed +diff -r b3f053cd7c7f newexec +--- /dev/null ++++ b/newexec +@@ -0,0 +1,1 @@ ++newexec +diff -r b3f053cd7c7f newregular +--- /dev/null ++++ b/newregular +@@ -0,0 +1,1 @@ ++newregular +diff -r b3f053cd7c7f regular +--- a/regular ++++ b/regular +@@ -1,1 +1,2 @@ + regular ++regular +diff -r b3f053cd7c7f rmbinary +Binary file rmbinary has changed +diff -r b3f053cd7c7f rmexec +--- a/rmexec ++++ /dev/null +@@ -1,1 +0,0 @@ +-rmexec +diff -r b3f053cd7c7f rmregular +--- a/rmregular ++++ /dev/null +@@ -1,1 +0,0 @@ +-rmregular +data lost for: binary +data lost for: newbinary +data lost for: newempty +data lost for: newexec +data lost for: rmempty +data lost for: setexec +data lost for: unsetexec +% git=abort: fail on execute bit change +abort: losing data for setexec +% git=abort: succeed on regular file +diff -r b3f053cd7c7f regular +--- a/regular ++++ b/regular +@@ -1,1 +1,2 @@ + regular ++regular