Re: [PATCH] (trivial) add helpful "use --soft" for bare reset
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:51:32
David Fries [off-list ref] writes:
quoted hunk
diff --git a/builtin/reset.c b/builtin/reset.c index 98bca04..d0d4d66 100644 --- a/builtin/reset.c +++ b/builtin/reset.c@@ -332,7 +332,7 @@ int cmd_reset(int argc, const char **argv, const char *prefix) setup_work_tree(); if (reset_type == MIXED && is_bare_repository()) - die(_("%s reset is not allowed in a bare repository"), + die(_("%s reset is not allowed in a bare repository, see update-ref"), _(reset_type_names[reset_type]));
There still is one thing that worries me remains here, even though I may
be worried too much. I tend to think that giving an incorrect advice is
far worse than not giving one.
Are you absolutely sure that the user wanted to update only the tip of a
ref without affecting the index nor the working tree, when a mixed reset
is issued in a bare repository, and there is _no other_ explanation why
the user issued a forbidden command?
For example, I have ~/git.git and /pub/scm/git/git.git on a single machine
somewhere. The former is with a working tree and the latter is a bare
repository. I usually live in ~/git.git/ on that machine, but sometimes I
would do things like:
$ git repack -a -d ;# working area
$ cd /pub/scm/git/git.git ;# clean up from time to time ...
$ git repack -a -d ;# ... the public one as well
I may disconnect from my screen session to the machine after I do this,
and I may have forgotten where I was the next time I come back to the
machine. After I reconnect to the same screen session, I may say "git
reset" to get back to a known state, which is what I often want to do in
the working area repository ~/git.git, mistakenly thinking that I am in my
usual ~/git.git directory.
In such a scenario, the mistake is not that I used a wrong command "reset"
in an attempt to update the tip of the branch. The mistake is that I tried
to use the right command to update the index, but I did it in a wrong
place. "Did you mean to do that somewhere else?" would be a much more
appropriate advice in that case.