summaryrefslogtreecommitdiff
path: root/reset.c
diff options
context:
space:
mode:
authorLibravatar Phillip Wood <phillip.wood@dunelm.org.uk>2022-01-26 13:05:41 +0000
committerLibravatar Junio C Hamano <gitster@pobox.com>2022-01-26 12:08:53 -0800
commit1946d45844c65ede4e3a514a5decf16612ad79f0 (patch)
tree17bdb2a138c5024bb8e3d3256dd357555232bd3c /reset.c
parentrebase --apply: don't run post-checkout hook if there is an error (diff)
downloadtgif-1946d45844c65ede4e3a514a5decf16612ad79f0.tar.xz
reset_head(): remove action parameter
The only use of the action parameter is to setup the error messages for unpack_trees(). All but two cases pass either "checkout" or "reset". The case that passes "reset --hard" would be better passing "reset" so that the error messages match the builtin reset command like all the other callers that are doing a reset. The case that passes "Fast-forwarded" is only updating HEAD and so the parameter is unused in that case as it does not call unpack_trees(). The value to pass to setup_unpack_trees_porcelain() can be determined by checking whether flags contains RESET_HEAD_HARD without the caller having to specify it. Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'reset.c')
-rw-r--r--reset.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/reset.c b/reset.c
index 3537de91f6..7841b2b2a0 100644
--- a/reset.c
+++ b/reset.c
@@ -8,7 +8,7 @@
#include "tree.h"
#include "unpack-trees.h"
-int reset_head(struct repository *r, struct object_id *oid, const char *action,
+int reset_head(struct repository *r, struct object_id *oid,
const char *switch_to_branch, unsigned flags,
const char *reflog_orig_head, const char *reflog_head,
const char *default_reflog_action)
@@ -23,7 +23,7 @@ int reset_head(struct repository *r, struct object_id *oid, const char *action,
struct lock_file lock = LOCK_INIT;
struct unpack_trees_options unpack_tree_opts = { 0 };
struct tree *tree;
- const char *reflog_action;
+ const char *action, *reflog_action;
struct strbuf msg = STRBUF_INIT;
size_t prefix_len;
struct object_id *old_orig = NULL, oid_old_orig;
@@ -50,6 +50,7 @@ int reset_head(struct repository *r, struct object_id *oid, const char *action,
if (refs_only)
goto reset_head_refs;
+ action = reset_hard ? "reset" : "checkout";
setup_unpack_trees_porcelain(&unpack_tree_opts, action);
unpack_tree_opts.head_idx = 1;
unpack_tree_opts.src_index = r->index;