# Re: [RFC/PATCH] git-reset to remove "$GIT_DIR/MERGE_MSG"

5 messages from 2006-12-05 to 2006-12-05. Participants: Johannes Schindelin, Junio C Hamano, Andreas Ericsson, Luben Tuikov.
Thread: https://gitlist.dev/t/43534

## Junio C Hamano, 2006-12-05 03:44

Subject: [RFC/PATCH] git-reset to remove "$GIT_DIR/MERGE_MSG"
Message-ID: <7v4psbknvb.fsf@assigned-by-dhcp.cox.net>
URL: https://gitlist.dev/e/7v4psbknvb.fsf%40assigned-by-dhcp.cox.net

```
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


```

## Luben Tuikov, 2006-12-05 06:19

Subject: Re: [RFC/PATCH] git-reset to remove "$GIT_DIR/MERGE_MSG"
Message-ID: <953031.74197.qm@web31806.mail.mud.yahoo.com>
URL: https://gitlist.dev/e/953031.74197.qm%40web31806.mail.mud.yahoo.com
In-Reply-To: <7v4psbknvb.fsf@assigned-by-dhcp.cox.net>

```
--- 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
> 
> 
> 

```

## Johannes Schindelin, 2006-12-05 08:22

Subject: Re: [RFC/PATCH] git-reset to remove "$GIT_DIR/MERGE_MSG"
Message-ID: <Pine.LNX.4.63.0612050847340.28348@wbgn013.biozentrum.uni-wuerzburg.de>
URL: https://gitlist.dev/e/Pine.LNX.4.63.0612050847340.28348%40wbgn013.biozentrum.uni-wuerzburg.de
In-Reply-To: <7v4psbknvb.fsf@assigned-by-dhcp.cox.net>

```
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

```

## Andreas Ericsson, 2006-12-05 08:36

Subject: Re: [RFC/PATCH] git-reset to remove "$GIT_DIR/MERGE_MSG"
Message-ID: <45752F8E.9020405@op5.se>
URL: https://gitlist.dev/e/45752F8E.9020405%40op5.se
In-Reply-To: <Pine.LNX.4.63.0612050847340.28348@wbgn013.biozentrum.uni-wuerzburg.de>

```
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

```

## Johannes Schindelin, 2006-12-05 09:03

Subject: Re: [RFC/PATCH] git-reset to remove "$GIT_DIR/MERGE_MSG"
Message-ID: <Pine.LNX.4.63.0612051000280.28348@wbgn013.biozentrum.uni-wuerzburg.de>
URL: https://gitlist.dev/e/Pine.LNX.4.63.0612051000280.28348%40wbgn013.biozentrum.uni-wuerzburg.de
In-Reply-To: <45752F8E.9020405@op5.se>

```
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

```
