Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--reset.c2
-rwxr-xr-xt/t5403-post-checkout-hook.sh6
2 files changed, 6 insertions, 2 deletions
diff --git a/reset.c b/reset.c
index 3e7b9e2e13..3537de91f6 100644
--- a/reset.c
+++ b/reset.c
@@ -126,7 +126,7 @@ reset_head_refs:
ret = create_symref("HEAD", switch_to_branch,
reflog_head);
}
- if (run_hook)
+ if (!ret && run_hook)
run_hook_le(NULL, "post-checkout",
oid_to_hex(head ? head : null_oid()),
oid_to_hex(oid), "1", NULL);
diff --git a/t/t5403-post-checkout-hook.sh b/t/t5403-post-checkout-hook.sh
index fd2817b406..d118181690 100755
--- a/t/t5403-post-checkout-hook.sh
+++ b/t/t5403-post-checkout-hook.sh
@@ -88,12 +88,16 @@ test_rebase () {
test_expect_success "rebase $args checkout does not remove untracked files" '
test_when_finished "test_might_fail git rebase --abort" &&
+ test_when_finished "rm -f .git/post-checkout.args" &&
git update-ref refs/heads/rebase-fast-forward three &&
git checkout two &&
+ rm -f .git/post-checkout.args &&
echo untracked >three.t &&
test_when_finished "rm three.t" &&
test_must_fail git rebase $args HEAD rebase-fast-forward 2>err &&
- grep "untracked working tree files would be overwritten by checkout" err
+ grep "untracked working tree files would be overwritten by checkout" err &&
+ test_path_is_missing .git/post-checkout.args
+
'
}