Re: [PATCH] reset: update help text
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- Mar 29, 2011, 21:04 UTC
- Message-ID
- <20110329210457.GA14031@elie>
- In-Reply-To
- <1301404805-12095-1-git-send-email-pclouds@gmail.com>
(+cc: Christian, Michael, and Thomas) Nguyễn Thái Ngọc Duy wrote:
> State --mixed is the default so users don't have to open up man page. > > Also make it clear how --hard and --merge are different.
Thanks; I think the goal of this patch is a good one.
Show 10 quoted lines
> --- a/builtin/reset.c
> +++ b/builtin/reset.c
> @@ -243,17 +243,17 @@ int cmd_reset(int argc, const char **argv, const char *prefix)
> struct commit *commit;
> char *reflog_action, msg[1024];
> const struct option options[] = {
> - OPT__QUIET(&quiet, "be quiet, only report errors"),
> OPT_SET_INT(0, "mixed", &reset_type,
> - "reset HEAD and index", MIXED),
> + "reset HEAD and index (default)", MIXED),Nice.
Show 8 quoted lines
> OPT_SET_INT(0, "soft", &reset_type, "reset only HEAD", SOFT), > OPT_SET_INT(0, "hard", &reset_type, > "reset HEAD, index and working tree", HARD), > OPT_SET_INT(0, "merge", &reset_type, > - "reset HEAD, index and working tree", MERGE), > + "like --hard but keep local changes in working tree", MERGE), > OPT_SET_INT(0, "keep", &reset_type, > "reset HEAD but keep local changes", KEEP),
The description does not make it obvious to me how these two (--merge and --keep) differ. I think the intent of the options are:
--keep: start working on a different commit, carrying over local changes (like "git checkout") --merge: return to <commit>, cancelling a merge-like operation that creates some unmerged and some clean index entries
Maybe something along these lines could be ok starting point?
OPT_SET_INT(0, "keep", &reset_type, "move to <commit>, carrying over local changes in working tree", KEEP), OPT_SET_INT(0, "merge", &reset_type, "return to <commit>, cancelling failed merge or cherry-pick", MERGE),