diff options
author | Nico von Geyso <Nico.Geyso@FU-Berlin.de> | 2012-08-10 13:08:08 +0200 |
---|---|---|
committer | Nico von Geyso <Nico.Geyso@FU-Berlin.de> | 2012-08-10 13:08:08 +0200 |
commit | a418150dc32eaa6968190d273b9ae48fc0539658 (patch) | |
tree | 3ad2a1016f1d2393923ff92de3f8704a9706433f | |
parent | 4954036205385c3e819dc1b64fc0e7c28fe487e9 (diff) | |
download | klausuren-a418150dc32eaa6968190d273b9ae48fc0539658.tar.gz klausuren-a418150dc32eaa6968190d273b9ae48fc0539658.tar.bz2 klausuren-a418150dc32eaa6968190d273b9ae48fc0539658.zip |
fixed insert_node
-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): |