git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Scott R. Godin" <scottg.wp-hackers@mhg2.com>
To: git@vger.kernel.org
Subject: Re: [BUG] [RESOLVED] merge-recursive call in git-am -3 chokes, autocrlf issue?
Date: Thu, 01 Apr 2010 13:03:15 -0400	[thread overview]
Message-ID: <hp2jkj$mu0$1@dough.gmane.org> (raw)
In-Reply-To: <201003190149.03025.trast@student.ethz.ch>

On 03/18/2010 08:49 PM, Thomas Rast wrote:
> Hi everyone,
>
> I helped Scott R. "WebDragon" Godin on IRC[1] with a bug internal to
> git-rebase.  It manifests like this:

It turns out it's not actually a bug in git-am/git-rebase.

while changing merge-recursive to merge-resolve in git-am solved the 
plain git rebase branch1 branch2 issue, I still ran into trouble when 
trying to do a rebase -i so I could squash a commit or two together.

Ilari stepped up to the plate [1] and it was quickly determined that the 
working copy cache is somehow left dirty after checkout.

doener stepped back in, and while pulling the hooks out that used 
setgitperms.perl, temporarily, it became obvious that one of them was 
the culprit, and further testing at this point would allow the rebase to 
continue, albiet without permissions being set. using git update-index 
--refresh allowed things to go on normally, when added to the 
post-checkout hook calling setgitperms.perl [2].

So my recommendation at this point is to patch the instructions within 
setgitperms.perl to add 'git update-index --refresh' to the end of the 
post-checkout hook.

I've since reset git-am to use recursive again (instead of resolve) and 
done several rebases (both with and without -i) and all seems well and 
normal, and this has made my day.

patch follows:

--8<--

Subject: [PATCH] revise setgitperms.perl hook script description to fix 
rebase issue

add index-refresh command to post-checkout post-merge script hooks to 
keep working tree from being marked dirty during a rebase action
---
  contrib/hooks/setgitperms.perl |    1 +
  1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/contrib/hooks/setgitperms.perl b/contrib/hooks/setgitperms.perl
index a577ad0..286835d 100644
--- a/contrib/hooks/setgitperms.perl
+++ b/contrib/hooks/setgitperms.perl
@@ -17,6 +17,7 @@
  #      #!/bin/sh
  #     SUBDIRECTORY_OK=1 . git-sh-setup
  #     $GIT_DIR/hooks/setgitperms.perl -w
+#     git update-index --refresh
  #
  use strict;
  use Getopt::Long;

--8<--

[1] http://colabti.org/irclogger/irclogger_log/git?date=2010-03-31#l1556
[2] http://colabti.org/irclogger/irclogger_log/git?date=2010-03-31#l1743

-- 
(please respond to the list as opposed to my email box directly,
unless you are supplying private information you don't want public
on the list)

  reply	other threads:[~2010-04-01 17:03 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-19  0:49 [BUG] merge-recursive call in git-am -3 chokes, autocrlf issue? Thomas Rast
2010-04-01 17:03 ` Scott R. Godin [this message]
2010-04-01 17:27   ` [BUG] [RESOLVED] " Junio C Hamano
2010-05-04 21:47     ` Scott R. Godin
2010-05-24 17:09       ` [PATCH] setgitperms.perl dirty index problem (was Re: [BUG] [RESOLVED] merge-recursive call in git-am -3 chokes, autocrlf issue?) Scott R. Godin
2010-05-25  5:37         ` [PATCH] setgitperms.perl dirty index problem Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='hp2jkj$mu0$1@dough.gmane.org' \
    --to=scottg.wp-hackers@mhg2.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).