diff --git a/git/diff.py b/git/diff.py index 3dbe0866c..a0076f0cf 100644 --- a/git/diff.py +++ b/git/diff.py @@ -237,7 +237,7 @@ class Diff(object): # precompiled regex re_header = re.compile(br""" ^diff[ ]--git - [ ](?P"?a/.+?"?)[ ](?P"?b/.+?"?)\n + [ ](?P"?[ab]/.+?"?)[ ](?P"?[ab]/.+?"?)\n (?:^old[ ]mode[ ](?P\d+)\n ^new[ ]mode[ ](?P\d+)(?:\n|$))? (?:^similarity[ ]index[ ]\d+%\n diff --git a/git/test/test_diff.py b/git/test/test_diff.py index 56e512892..e4e7556d9 100644 --- a/git/test/test_diff.py +++ b/git/test/test_diff.py @@ -68,7 +68,12 @@ def test_diff_with_staged_file(self, rw_dir): with open(fp, 'w') as fs: fs.write("Hola Mundo") - r.git.commit(all=True, message="change on master") + r.git.add(Git.polish_url(fp)) + self.assertEqual(len(r.index.diff("HEAD", create_patch=True)), 1, + "create_patch should generate patch of diff to HEAD") + r.git.commit(message="change on master") + self.assertEqual(len(r.index.diff("HEAD", create_patch=True)), 0, + "create_patch should generate no patch, already on HEAD") r.git.checkout('HEAD~1', b='topic') with open(fp, 'w') as fs: