diff options
Diffstat (limited to 'fit.py')
-rw-r--r-- | fit.py | 15 |
1 files changed, 7 insertions, 8 deletions
@@ -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): |