Commit 6124d983b6970f99ec7c93e480896806a83e7198

Matti Virolainen 2015-06-01T11:16:36

Check that an executable in index is not an executable after checkout.

diff --git a/tests/checkout/tree.c b/tests/checkout/tree.c
index be40198..5774095 100644
--- a/tests/checkout/tree.c
+++ b/tests/checkout/tree.c
@@ -973,6 +973,17 @@ void test_checkout_tree__filemode_preserved_in_index(void)
 	git_commit_free(commit);
 
 
+	/* Finally, check out the text file again and check that the exec bit is cleared */
+	cl_git_pass(git_oid_fromstr(&executable_oid, "cf80f8de9f1185bf3a05f993f6121880dd0cfbc9"));
+	cl_git_pass(git_commit_lookup(&commit, g_repo, &executable_oid));
+
+	cl_git_pass(git_checkout_tree(g_repo, (const git_object *)commit, &opts));
+	cl_assert(entry = git_index_get_bypath(index, "a/b.txt", 0));
+	cl_assert_equal_i(0100644, entry->mode);
+
+	git_commit_free(commit);
+
+
 	git_index_free(index);
 }