changeset 838:f6f84d51a154

git_handler.get_files_changed: switch to diff_tree's tree_changes object_store.tree_changes doesn't allow us to specify a rename detector, but diff_tree's tree_changes does.
author Siddharth Agarwal <sid0@fb.com>
date Mon, 01 Dec 2014 23:25:25 -0800
parents 6866ae460ee7
children 83a0e6c0e82c
files hggit/git_handler.py
diffstat 1 files changed, 5 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/hggit/git_handler.py	Mon Dec 01 21:18:34 2014 -0800
+++ b/hggit/git_handler.py	Mon Dec 01 23:25:25 2014 -0800
@@ -7,6 +7,7 @@
 from dulwich.repo import Repo, check_ref_format
 from dulwich import client
 from dulwich import config as dul_config
+from dulwich import diff_tree
 
 try:
     from mercurial import bookmarks
@@ -1296,10 +1297,12 @@
         if commit.parents:
             btree = self.git[commit.parents[0]].tree
 
-        changes = self.git.object_store.tree_changes(btree, tree)
+        changes = diff_tree.tree_changes(self.git.object_store, btree, tree)
         files = {}
         gitlinks = {}
-        for (oldfile, newfile), (oldmode, newmode), (oldsha, newsha) in changes:
+        for change in changes:
+            oldfile, oldmode, oldsha = change.old
+            newfile, newmode, newsha = change.new
             # actions are described by the following table ('no' means 'does not
             # exist'):
             #    old        new     |    action