aboutsummaryrefslogtreecommitdiff
path: root/git/index
diff options
context:
space:
mode:
Diffstat (limited to 'git/index')
-rw-r--r--git/index/base.py13
-rw-r--r--git/index/fun.py4
2 files changed, 11 insertions, 6 deletions
diff --git a/git/index/base.py b/git/index/base.py
index 88410e20..12097922 100644
--- a/git/index/base.py
+++ b/git/index/base.py
@@ -62,9 +62,8 @@ from fun import (
S_IFGITLINK
)
-from gitdb.base import IStream
-from gitdb.db import MemoryDB
-from gitdb.util import to_bin_sha
+from git.base import IStream
+from git.util import to_bin_sha
from itertools import izip
__all__ = ( 'IndexFile', 'CheckoutError' )
@@ -512,7 +511,9 @@ class IndexFile(LazyMixin, diff.Diffable, Serializable):
:raise UnmergedEntriesError: """
# we obtain no lock as we just flush our contents to disk as tree
# If we are a new index, the entries access will load our data accordingly
- mdb = MemoryDB()
+ # Needs delayed import as db.py import IndexFile as well
+ import git.db.py.mem
+ mdb = git.db.py.mem.PureMemoryDB()
entries = self._entries_sorted()
binsha, tree_items = write_tree_from_cache(entries, mdb, slice(0, len(entries)))
@@ -959,12 +960,16 @@ class IndexFile(LazyMixin, diff.Diffable, Serializable):
if not line.startswith("git checkout-index: ") and not line.startswith("git-checkout-index: "):
is_a_dir = " is a directory"
unlink_issue = "unable to unlink old '"
+ already_exists_issue = ' already exists, no checkout' # created by entry.c:checkout_entry(...)
if line.endswith(is_a_dir):
failed_files.append(line[:-len(is_a_dir)])
failed_reasons.append(is_a_dir)
elif line.startswith(unlink_issue):
failed_files.append(line[len(unlink_issue):line.rfind("'")])
failed_reasons.append(unlink_issue)
+ elif line.endswith(already_exists_issue):
+ failed_files.append(line[:-len(already_exists_issue)])
+ failed_reasons.append(already_exists_issue)
else:
unknown_lines.append(line)
continue
diff --git a/git/index/fun.py b/git/index/fun.py
index 9b35bf04..e2813c0b 100644
--- a/git/index/fun.py
+++ b/git/index/fun.py
@@ -36,8 +36,8 @@ from util import (
unpack
)
-from gitdb.base import IStream
-from gitdb.typ import str_tree_type
+from git.base import IStream
+from git.typ import str_tree_type
__all__ = ('write_cache', 'read_cache', 'write_tree_from_cache', 'entry_key',
'stat_mode_to_index_mode', 'S_IFGITLINK')