Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 5baa20b

Browse files
author
Edward Thomson
committed
round-trip trees through index_read_index
Read a tree into an index using `git_index_read_index` (by reading a tree into a new index, then reading that index into the current index), then write the index back out, ensuring that our new index is treesame to the tree that we read.
1 parent 0aaba44 commit 5baa20b

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

tests/index/read_index.c

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,3 +71,35 @@ void test_index_read_index__maintains_stat_cache(void)
7171
}
7272
}
7373
}
74+
75+
static bool roundtrip_with_read_index(const char *tree_idstr)
76+
{
77+
git_oid tree_id, new_tree_id;
78+
git_tree *tree;
79+
git_index *tree_index;
80+
81+
cl_git_pass(git_oid_fromstr(&tree_id, tree_idstr));
82+
cl_git_pass(git_tree_lookup(&tree, _repo, &tree_id));
83+
cl_git_pass(git_index_new(&tree_index));
84+
cl_git_pass(git_index_read_tree(tree_index, tree));
85+
cl_git_pass(git_index_read_index(_index, tree_index));
86+
cl_git_pass(git_index_write_tree(&new_tree_id, _index));
87+
88+
git_tree_free(tree);
89+
git_index_free(tree_index);
90+
91+
return git_oid_equal(&tree_id, &new_tree_id);
92+
}
93+
94+
void test_index_read_index__produces_treesame_indexes(void)
95+
{
96+
roundtrip_with_read_index("53fc32d17276939fc79ed05badaef2db09990016");
97+
roundtrip_with_read_index("944c0f6e4dfa41595e6eb3ceecdb14f50fe18162");
98+
roundtrip_with_read_index("1810dff58d8a660512d4832e740f692884338ccd");
99+
roundtrip_with_read_index("d52a8fe84ceedf260afe4f0287bbfca04a117e83");
100+
roundtrip_with_read_index("c36d8ea75da8cb510fcb0c408c1d7e53f9a99dbe");
101+
roundtrip_with_read_index("7b2417a23b63e1fdde88c80e14b33247c6e5785a");
102+
roundtrip_with_read_index("f82a8eb4cb20e88d1030fd10d89286215a715396");
103+
roundtrip_with_read_index("fd093bff70906175335656e6ce6ae05783708765");
104+
roundtrip_with_read_index("ae90f12eea699729ed24555e40b9fd669da12a12");
105+
}

0 commit comments

Comments
 (0)