summaryrefslogtreecommitdiff
path: root/test/git/test_index.py
diff options
context:
space:
mode:
authorSebastian Thiel <byronimo@gmail.com>2009-11-25 15:14:10 +0100
committerSebastian Thiel <byronimo@gmail.com>2009-11-25 15:28:32 +0100
commite40b5f075bdb9d6c2992a0a1cf05f7f6f4f101a3 (patch)
tree6719eafbfad575cd112c34851db1cdff89caadd1 /test/git/test_index.py
parentc5f92b17729e255ca01ffb4ed215d132e05ba4da (diff)
downloadgitpython-e40b5f075bdb9d6c2992a0a1cf05f7f6f4f101a3.tar.gz
index.write_tree: fixed bug that would cause the written tree not to contain any of our changes entries as it would in fact write a possibly cached tree stored in our extension data.It was solved by simply ignoring that extension data when writing the index for tree creation. A test was added for this as well
Diffstat (limited to 'test/git/test_index.py')
-rw-r--r--test/git/test_index.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/test/git/test_index.py b/test/git/test_index.py
index 0161e9ec..e6e23ba7 100644
--- a/test/git/test_index.py
+++ b/test/git/test_index.py
@@ -14,7 +14,6 @@ import glob
import shutil
from stat import *
-
class TestTree(TestBase):
def __init__(self, *args):
@@ -464,6 +463,7 @@ class TestTree(TestBase):
full_index_entry = IndexEntry.from_base(BaseIndexEntry((0120000, entries[0].sha, 0, entries[0].path)))
entry_key = index.get_entries_key(full_index_entry)
index.reset(new_commit)
+
assert entry_key not in index.entries
index.entries[entry_key] = full_index_entry
index.write()
@@ -471,6 +471,10 @@ class TestTree(TestBase):
new_entry = index.entries[entry_key]
assert S_ISLNK(new_entry.mode)
+ # a tree created from this should contain the symlink
+ tree = index.write_tree(True)
+ assert fake_symlink_relapath in tree
+
# checkout the fakelink, should be a link then
assert not S_ISLNK(os.stat(fake_symlink_path)[ST_MODE])
os.remove(fake_symlink_path)