# HG changeset patch # User Johan Bjork # Date 1381182439 14400 # Node ID c172660eee01af28b8f843a9f7a568a4de5bb084 # Parent 4d513f96a565639c0879086b68cf72a1e01e596c patch: Fix nullid for binary git diffs (issue4054) The index for an empty file in git is not 0, but sha-1("blobl 0\0"). diff -r 4d513f96a565 -r c172660eee01 mercurial/patch.py --- a/mercurial/patch.py Tue Oct 01 16:55:20 2013 -0700 +++ b/mercurial/patch.py Mon Oct 07 17:47:19 2013 -0400 @@ -10,7 +10,7 @@ import tempfile, zlib, shutil from i18n import _ -from node import hex, nullid, short +from node import hex, short import base85, mdiff, scmutil, util, diffhelpers, copies, encoding, error import context @@ -1658,7 +1658,7 @@ def gitindex(text): if not text: - return hex(nullid) + text = "" l = len(text) s = util.sha1('blob %d\0' % l) s.update(text) diff -r 4d513f96a565 -r c172660eee01 tests/test-diff-upgrade.t --- a/tests/test-diff-upgrade.t Tue Oct 01 16:55:20 2013 -0700 +++ b/tests/test-diff-upgrade.t Mon Oct 07 17:47:19 2013 -0400 @@ -183,7 +183,7 @@ % git=auto: git diff for newbinary diff --git a/newbinary b/newbinary new file mode 100644 - index 0000000000000000000000000000000000000000..f76dd238ade08917e6712764a16a22005a50573d + index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..f76dd238ade08917e6712764a16a22005a50573d GIT binary patch literal 1 Ic${MZ000310RR91 @@ -200,7 +200,7 @@ % git=auto: git diff for rmbinary diff --git a/rmbinary b/rmbinary deleted file mode 100644 - index f76dd238ade08917e6712764a16a22005a50573d..0000000000000000000000000000000000000000 + index f76dd238ade08917e6712764a16a22005a50573d..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 GIT binary patch literal 0 Hc$@