git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: git rebase --continue automatic --skip?

From
Jeff King <peff@peff.net>
Date
Apr 9, 2011, 00:03 UTC
Message-ID
<20110409000351.GA7445@sigill.intra.peff.net>
In-Reply-To
<BANLkTi=Vc6kB5fvZrqMwDD+yHFb5qENQ8g@mail.gmail.com>
On Fri, Apr 08, 2011 at 01:30:01PM -0700, skillzero@gmail.com wrote:
Show 6 quoted lines
> Is there a way to make git rebase --continue automatically do a --skip
> if a conflict resolution ends up not needing the patch? Normally, git
> rebase will just silently skip a patch if it's not needed, but if a
> patch results in a conflict and I use git mergetool and end up
> deleting all the changes, git rebase --continue stops and makes me
> explicitly use --skip.

This is something I have often wanted, too. The patch would look something like this:

diff --git a/git-rebase.sh b/git-rebase.sh
index 7a54bfc..cec15ae 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh
@@ -319,6 +319,11 @@ continue)
 		echo "mark them as resolved using git add"
 		exit 1
 	}
+	if git diff-index --quiet HEAD --; then
+		test -z "$GIT_QUIET" &&
+			echo >&2 "Commit has no changes -- skipping"
+		action=skip
+	fi
 	read_basic_state
 	run_specific_rebase
 	;;

that is based on what is in "next", as there has been a lot of cleanup
in git-rebase recently[1].

I put it in rebase and not straight into "git am", as I'm not sure that
"am" would want to share the same behavior. I'm not sure why we haven't
done this up until now. Maybe there is some corner case I'm not thinking
of where the user would want to do something besides skip when we hit
this situation. I dunno.

Potentially this should also go into the rebase--am specific script. I
haven't really thought it through.

-Peff

[1] I hadn't really been following Martin's rebase cleanup, but it is
    _way_ nicer to look at these days.
Previous: skillzero@gmail.comNext: Peter Baumann
Message 2 of 7 in “git rebase --continue automatic --skip?”
  1. skillzero@gmail.comApr 8, 2011
  2. Jeff KingApr 9, 2011
  3. Peter BaumannApr 9, 2011
  4. Junio C HamanoApr 10, 2011
  5. Peter BaumannApr 11, 2011
  6. Junio C HamanoApr 10, 2011
  7. Joshua JuranApr 13, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.