git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [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).