diff options
author | Michael Trier <mtrier@gmail.com> | 2008-12-15 20:47:19 -0500 |
---|---|---|
committer | Michael Trier <mtrier@gmail.com> | 2008-12-15 20:47:19 -0500 |
commit | 6ba8b8b91907bd087dfe201eb0d5dae2feb54881 (patch) | |
tree | 0f553a341cdde34d8a92030965b8219a36945308 /lib/git | |
parent | 5e062f4d043234312446ea9445f07bd9dc309ce3 (diff) | |
download | gitpython-6ba8b8b91907bd087dfe201eb0d5dae2feb54881.tar.gz |
Added in new properties Diff.renamed, Diff.rename_from, and Diff.rename_to
Diffstat (limited to 'lib/git')
-rw-r--r-- | lib/git/commit.py | 4 | ||||
-rw-r--r-- | lib/git/diff.py | 11 |
2 files changed, 10 insertions, 5 deletions
diff --git a/lib/git/commit.py b/lib/git/commit.py index 4aee1280..e35090a1 100644 --- a/lib/git/commit.py +++ b/lib/git/commit.py @@ -204,13 +204,13 @@ class Commit(LazyMixin): if b: paths.insert(0, b) paths.insert(0, a) - text = repo.git.diff(full_index=True, *paths) + text = repo.git.diff('-M', full_index=True, *paths) return diff.Diff.list_from_string(repo, text) @property def diffs(self): if not self.parents: - d = self.repo.git.show(self.id, full_index=True, pretty='raw') + d = self.repo.git.show(self.id, '-M', full_index=True, pretty='raw') if re.search(r'diff --git a', d): if not re.search(r'^diff --git a', d): p = re.compile(r'.+?(diff --git a)', re.MULTILINE | re.DOTALL) diff --git a/lib/git/diff.py b/lib/git/diff.py index 626c4df9..7a6770c4 100644 --- a/lib/git/diff.py +++ b/lib/git/diff.py @@ -12,7 +12,9 @@ class Diff(object): A Diff contains diff information between two commits. """ - def __init__(self, repo, a_path, b_path, a_commit, b_commit, a_mode, b_mode, new_file, deleted_file, diff): + def __init__(self, repo, a_path, b_path, a_commit, b_commit, a_mode, + b_mode, new_file, deleted_file, rename_from, + rename_to, diff): self.repo = repo self.a_path = a_path self.b_path = b_path @@ -30,6 +32,9 @@ class Diff(object): self.b_mode = b_mode self.new_file = new_file self.deleted_file = deleted_file + self.rename_from = rename_from + self.rename_to = rename_to + self.renamed = rename_from != rename_to self.diff = diff @classmethod @@ -54,13 +59,13 @@ class Diff(object): header = diff_header(diff) a_path, b_path, similarity_index, rename_from, rename_to, \ - old_mode, new_mode, new_file_mode, deleted_file_mode, \ + old_mode, new_mode, new_file_mode, deleted_file_mode, \ a_commit, b_commit, b_mode = header.groups() new_file, deleted_file = bool(new_file_mode), bool(deleted_file_mode) diffs.append(Diff(repo, a_path, b_path, a_commit, b_commit, old_mode or deleted_file_mode, new_mode or new_file_mode or b_mode, - new_file, deleted_file, diff[header.end():])) + new_file, deleted_file, rename_from, rename_to, diff[header.end():])) return diffs |