summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--git/diff.py3
-rw-r--r--test/test_diff.py6
2 files changed, 9 insertions, 0 deletions
diff --git a/git/diff.py b/git/diff.py
index 48b0e0d6..c4424592 100644
--- a/git/diff.py
+++ b/git/diff.py
@@ -574,6 +574,9 @@ class Diff(object):
_, _, lines = lines.partition(":")
for line in lines.split("\x00:"):
+ if not line:
+ # The line data is empty, skip
+ continue
meta, _, path = line.partition("\x00")
path = path.rstrip("\x00")
a_blob_id: Optional[str]
diff --git a/test/test_diff.py b/test/test_diff.py
index dcf10018..7065f063 100644
--- a/test/test_diff.py
+++ b/test/test_diff.py
@@ -240,6 +240,12 @@ class TestDiff(TestBase):
output = fixture("diff_file_with_colon")
res = []
Diff._handle_diff_line(output, None, res)
+ self.assertEqual(len(res), 3)
+
+ def test_empty_diff(self):
+ res = []
+ Diff._handle_diff_line(b"", None, res)
+ self.assertEqual(res, [])
def test_diff_initial_commit(self):
initial_commit = self.rorepo.commit("33ebe7acec14b25c5f84f35a664803fcab2f7781")