From c0ef65b43688b1a4615a1e7332f6215f9a8abb19 Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Wed, 23 Jun 2010 00:28:36 +0200 Subject: Implemented simple tree merging and a simple test, more elaborate testing is in progress --- lib/git/index/fun.py | 86 +++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 78 insertions(+), 8 deletions(-) (limited to 'lib/git/index') diff --git a/lib/git/index/fun.py b/lib/git/index/fun.py index 962e139a..79fcfddb 100644 --- a/lib/git/index/fun.py +++ b/lib/git/index/fun.py @@ -5,11 +5,13 @@ more versatile from stat import S_IFDIR from cStringIO import StringIO +from git.utils import IndexFileSHA1Writer from git.errors import UnmergedEntriesError -from git.objects.fun import tree_to_stream -from git.utils import ( - IndexFileSHA1Writer, - ) +from git.objects.fun import ( + tree_to_stream, + traverse_tree_recursive, + traverse_trees_recursive + ) from typ import ( BaseIndexEntry, @@ -196,7 +198,7 @@ def write_tree_from_cache(entries, odb, sl, si=0): return (istream.binsha, tree_items) def _tree_entry_to_baseindexentry(tree_entry, stage): - return BaseIndexEntry(tree_entry[1], tree_entry[0], stage <