* [RFC/PATCH] git-reset to remove "$GIT_DIR/MERGE_MSG"
@ 2006-12-05 3:44 Junio C Hamano
2006-12-05 6:19 ` Luben Tuikov
2006-12-05 8:22 ` Johannes Schindelin
0 siblings, 2 replies; 5+ messages in thread
From: Junio C Hamano @ 2006-12-05 3:44 UTC (permalink / raw)
To: git; +Cc: ltuikov
An earlier commit a9cb3c6e changed git-commit to use the
contents of MERGE_MSG even when we do not have MERGE_HEAD (the
rationale is in its log message).
However, the change tricks the following sequence to include a
merge message in a completely unrelated commit:
$ git pull somewhere
: oops, the conflicts are too much. forget it.
$ git reset --hard
: work work work
$ git commit
To fix this confusion, this patch makes "git reset" to remove
the leftover MERGE_MSG that was prepared when the user abandoned
the merge.
Signed-off-by: Junio C Hamano <junkio@cox.net>
---
* Marked as RFC because I suspect I am missing a valid use case
where a user might want to say "reset" as part of continuing
the conflicted merge resolution, although I do not think of
any offhand...
git-reset.sh | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/git-reset.sh b/git-reset.sh
index 3133b5b..c0feb44 100755
--- a/git-reset.sh
+++ b/git-reset.sh
@@ -63,6 +63,7 @@ case "$reset_type" in
;;
esac
-rm -f "$GIT_DIR/MERGE_HEAD" "$GIT_DIR/rr-cache/MERGE_RR" "$GIT_DIR/SQUASH_MSG"
+rm -f "$GIT_DIR/MERGE_HEAD" "$GIT_DIR/rr-cache/MERGE_RR" \
+ "$GIT_DIR/SQUASH_MSG" "$GIT_DIR/MERGE_MSG"
exit $update_ref_status
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [RFC/PATCH] git-reset to remove "$GIT_DIR/MERGE_MSG"
2006-12-05 3:44 [RFC/PATCH] git-reset to remove "$GIT_DIR/MERGE_MSG" Junio C Hamano
@ 2006-12-05 6:19 ` Luben Tuikov
2006-12-05 8:22 ` Johannes Schindelin
1 sibling, 0 replies; 5+ messages in thread
From: Luben Tuikov @ 2006-12-05 6:19 UTC (permalink / raw)
To: Junio C Hamano, git; +Cc: ltuikov
--- Junio C Hamano <junkio@cox.net> wrote:
> An earlier commit a9cb3c6e changed git-commit to use the
> contents of MERGE_MSG even when we do not have MERGE_HEAD (the
> rationale is in its log message).
>
> However, the change tricks the following sequence to include a
> merge message in a completely unrelated commit:
>
> $ git pull somewhere
> : oops, the conflicts are too much. forget it.
> $ git reset --hard
> : work work work
> $ git commit
>
> To fix this confusion, this patch makes "git reset" to remove
> the leftover MERGE_MSG that was prepared when the user abandoned
> the merge.
>
> Signed-off-by: Junio C Hamano <junkio@cox.net>
Acked-by: Luben Tuikov <ltuikov@yahoo.com
>
> ---
>
> * Marked as RFC because I suspect I am missing a valid use case
> where a user might want to say "reset" as part of continuing
> the conflicted merge resolution, although I do not think of
> any offhand...
I also cannot think of any offhand. Should be safe to commit.
Luben
>
> git-reset.sh | 3 ++-
> 1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/git-reset.sh b/git-reset.sh
> index 3133b5b..c0feb44 100755
> --- a/git-reset.sh
> +++ b/git-reset.sh
> @@ -63,6 +63,7 @@ case "$reset_type" in
> ;;
> esac
>
> -rm -f "$GIT_DIR/MERGE_HEAD" "$GIT_DIR/rr-cache/MERGE_RR" "$GIT_DIR/SQUASH_MSG"
> +rm -f "$GIT_DIR/MERGE_HEAD" "$GIT_DIR/rr-cache/MERGE_RR" \
> + "$GIT_DIR/SQUASH_MSG" "$GIT_DIR/MERGE_MSG"
>
> exit $update_ref_status
>
>
>
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [RFC/PATCH] git-reset to remove "$GIT_DIR/MERGE_MSG"
2006-12-05 3:44 [RFC/PATCH] git-reset to remove "$GIT_DIR/MERGE_MSG" Junio C Hamano
2006-12-05 6:19 ` Luben Tuikov
@ 2006-12-05 8:22 ` Johannes Schindelin
2006-12-05 8:36 ` Andreas Ericsson
1 sibling, 1 reply; 5+ messages in thread
From: Johannes Schindelin @ 2006-12-05 8:22 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git, ltuikov
Hi,
On Mon, 4 Dec 2006, Junio C Hamano wrote:
> * Marked as RFC because I suspect I am missing a valid use case
> where a user might want to say "reset" as part of continuing
> the conflicted merge resolution, although I do not think of
> any offhand...
I can only speak for myself, of course: When I use git-reset in a merge,
more often than not I use "--hard", in which case I want to try something
different. So yes, I like this patch.
The only possible exception I can think of: git-reset --mixed when a
merge failed.
Ciao,
Dscho
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFC/PATCH] git-reset to remove "$GIT_DIR/MERGE_MSG"
2006-12-05 8:22 ` Johannes Schindelin
@ 2006-12-05 8:36 ` Andreas Ericsson
2006-12-05 9:03 ` Johannes Schindelin
0 siblings, 1 reply; 5+ messages in thread
From: Andreas Ericsson @ 2006-12-05 8:36 UTC (permalink / raw)
To: Johannes Schindelin; +Cc: Junio C Hamano, git, ltuikov
Johannes Schindelin wrote:
> Hi,
>
> On Mon, 4 Dec 2006, Junio C Hamano wrote:
>
>> * Marked as RFC because I suspect I am missing a valid use case
>> where a user might want to say "reset" as part of continuing
>> the conflicted merge resolution, although I do not think of
>> any offhand...
>
> I can only speak for myself, of course: When I use git-reset in a merge,
> more often than not I use "--hard", in which case I want to try something
> different. So yes, I like this patch.
>
> The only possible exception I can think of: git-reset --mixed when a
> merge failed.
>
Indeed, but any invocation of git-reset means you'll quite likely have
to re-do the merge to get all changes anyways.
Like most others, I also use the --hard option most of the times when I
have merge-errors (usually because I've forgotten to create a
topic-branch to do my work in, so I create one from 'master', reset
master to whatever it was last time I pulled and then try rebase'ing on
to it).
--
Andreas Ericsson andreas.ericsson@op5.se
OP5 AB www.op5.se
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFC/PATCH] git-reset to remove "$GIT_DIR/MERGE_MSG"
2006-12-05 8:36 ` Andreas Ericsson
@ 2006-12-05 9:03 ` Johannes Schindelin
0 siblings, 0 replies; 5+ messages in thread
From: Johannes Schindelin @ 2006-12-05 9:03 UTC (permalink / raw)
To: Andreas Ericsson; +Cc: Junio C Hamano, git, ltuikov
Hi,
On Tue, 5 Dec 2006, Andreas Ericsson wrote:
> Johannes Schindelin wrote:
> >
> > The only possible exception I can think of: git-reset --mixed when a merge
> > failed.
>
> Indeed, but any invocation of git-reset means you'll quite likely have
> to re-do the merge to get all changes anyways.
But the working directory still contains the changes (and conflicts) with
--mixed. A valid workflow would then be to compare to the index directly,
instead of having to ask "git diff --ours" all the time. And if I'm not
mistaken, a commit (after cleaning up the conflicts) would not record the
merge as a merge.
Ciao,
Dscho
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2006-12-05 9:03 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-12-05 3:44 [RFC/PATCH] git-reset to remove "$GIT_DIR/MERGE_MSG" Junio C Hamano
2006-12-05 6:19 ` Luben Tuikov
2006-12-05 8:22 ` Johannes Schindelin
2006-12-05 8:36 ` Andreas Ericsson
2006-12-05 9:03 ` Johannes Schindelin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).