From a418150dc32eaa6968190d273b9ae48fc0539658 Mon Sep 17 00:00:00 2001 From: Nico von Geyso Date: Fri, 10 Aug 2012 13:08:08 +0200 Subject: fixed insert_node --- fit.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/fit.py b/fit.py index fabd1b2..33e3eec 100644 --- a/fit.py +++ b/fit.py @@ -25,7 +25,7 @@ class Fit: existing_builders = [(os.sep, root)] for dir_entry in dir_path: try: - new_oid = current_node[dir_entry].oid + new_oid = current_node[str(dir_entry)].oid current_node = self.repo[new_oid] existing_builders.append(( @@ -38,16 +38,18 @@ class Fit: new_path = dir_path[len(existing_builders)-1:] # inserts blob object + filename = os.path.basename(path) + if len(new_path) > 0: builder = self.repo.TreeBuilder() + pre = filename else: - builder = existing_builders[-1][1] + last_dir = existing_builders.pop() + builder = last_dir[1] + pre = last_dir[0] - filename = os.path.basename(path) builder.insert(filename, node_oid, 0100644) current_tree_oid = builder.write() - new_builders = [(filename, builder)] - pre = filename # create new nodes bottom-up for our node if len(new_path) > 0: @@ -56,9 +58,6 @@ class Fit: builder = self.repo.TreeBuilder() builder.insert(entry, current_tree_oid, 040000) current_tree_oid = builder.write() - new_builders.append(( - entry, self.repo.TreeBuilder(current_tree_oid) - )) # connect existing nodes with created nodes for name, builder in reversed(existing_builders): -- cgit v1.2.3-1-g7c22