From 6124d983b6970f99ec7c93e480896806a83e7198 Mon Sep 17 00:00:00 2001 From: Matti Virolainen Date: Mon, 1 Jun 2015 11:16:36 +0300 Subject: [PATCH] Check that an executable in index is not an executable after checkout. --- tests/checkout/tree.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tests/checkout/tree.c b/tests/checkout/tree.c index be4019822..577409511 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); }