summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNico von Geyso <Nico.Geyso@FU-Berlin.de>2012-08-10 13:08:08 +0200
committerNico von Geyso <Nico.Geyso@FU-Berlin.de>2012-08-10 13:08:08 +0200
commita418150dc32eaa6968190d273b9ae48fc0539658 (patch)
tree3ad2a1016f1d2393923ff92de3f8704a9706433f
parent4954036205385c3e819dc1b64fc0e7c28fe487e9 (diff)
downloadklausuren-a418150dc32eaa6968190d273b9ae48fc0539658.tar.gz
klausuren-a418150dc32eaa6968190d273b9ae48fc0539658.tar.bz2
klausuren-a418150dc32eaa6968190d273b9ae48fc0539658.zip
fixed insert_node
-rw-r--r--fit.py15
1 files 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):