diff options
author | Sebastian Thiel <byronimo@gmail.com> | 2009-11-25 15:14:10 +0100 |
---|---|---|
committer | Sebastian Thiel <byronimo@gmail.com> | 2009-11-25 15:28:32 +0100 |
commit | e40b5f075bdb9d6c2992a0a1cf05f7f6f4f101a3 (patch) | |
tree | 6719eafbfad575cd112c34851db1cdff89caadd1 /test/git/test_index.py | |
parent | c5f92b17729e255ca01ffb4ed215d132e05ba4da (diff) | |
download | gitpython-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.py | 6 |
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) |