Skip to content

Incorrect parsing of git diff output for mode changes #54

Closed
@stevenwinfield

Description

@stevenwinfield

I'm using GitPython-0.3.2.RC1-py2.7, with git version 1.7.4.1, on linux.

In my code I do something like:
diff_list = old_commit.diff(new_commit, create_patch=True, w=True)

With GIT_PYTHON_TRACE set to 1 I see this executes:
git diff -w edeca5290f8a3dbe7d78375fc061de47e7d626bc 413a379a86a63a3bba970c52c56cfa3fa2183907 --abbrev=40 --full-index -p -M

git produces some output, an interesting part of which is:

...
+
+
 if __name__ == "__main__":
     main()
\ No newline at end of file
diff --git a/src/app/names.pyw b/src/app/names.pyw
old mode 100644
new mode 100755
diff --git a/src/lib/pyccp/config/lapdesk.py b/src/lib/pyccp/config/lapdesk.py
new file mode 100644
index 0000000000000000000000000000000000000000..f870d902f92ac6101f8f4d8c5d4e063c78a053a1
--- /dev/null
+++ b/src/lib/pyccp/config/lapdesk.py
@@ -0,0 +1,50 @@
+# -*- coding: utf-8 -*-
+'''
+Script Name : lapdesk.py
...

The diff object that should represent the names.pyw entry, when printed, looks like:

%s
==========
lhs: None
rhs: None

I notice that this doesn't have an "index" line - could this be the issue?

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions