summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: b8eecaf)
raw | patch | inline | side by side (parent: b8eecaf)
author | Johannes Schindelin <Johannes.Schindelin@gmx.de> | |
Fri, 10 Oct 2008 11:42:12 +0000 (13:42 +0200) | ||
committer | Shawn O. Pearce <spearce@spearce.org> | |
Fri, 10 Oct 2008 15:32:03 +0000 (08:32 -0700) |
In case there is no commit to apply (for example because you rebase to
upstream and all your local patches have been applied there), do not
fail. The non-interactive rebase already behaves that way.
Do this by introducing a new command, "noop", which is substituted for
an empty commit list, so that deleting the commit list can still abort
as before.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
upstream and all your local patches have been applied there), do not
fail. The non-interactive rebase already behaves that way.
Do this by introducing a new command, "noop", which is substituted for
an empty commit list, so that deleting the commit list can still abort
as before.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
git-rebase--interactive.sh | patch | blob | history | |
t/t3404-rebase-interactive.sh | patch | blob | history |
index bdec43c3f604b22d29b52bd6a026785a6ac0f21b..124cb5846b07ee9aa72fac4cbb88098c94f5741a 100755 (executable)
"$DOTEST"/amend || exit
read command sha1 rest < "$TODO"
case "$command" in
- '#'*|'')
+ '#'*|''|noop)
mark_action_done
;;
pick|p)
--abbrev=7 --reverse --left-right --cherry-pick \
$UPSTREAM...$HEAD | \
sed -n "s/^>/pick /p" > "$TODO"
+ test -s "$TODO" || echo noop >> "$TODO"
cat >> "$TODO" << EOF
# Rebase $SHORTUPSTREAM..$SHORTHEAD onto $SHORTONTO
index e0ded197ecabce712ac1eeaa4c959c714f0e9d34..7d10a27f1dcb8058f0e3c6180c3d45705fe3b21d 100755 (executable)
'
+test_expect_success 'do "noop" when there is nothing to cherry-pick' '
+
+ git checkout -b branch4 HEAD &&
+ GIT_EDITOR=: git commit --amend \
+ --author="Somebody else <somebody@else.com>"
+ test $(git rev-parse branch3) != $(git rev-parse branch4) &&
+ git rebase -i branch3 &&
+ test $(git rev-parse branch3) = $(git rev-parse branch4)
+
+'
+
test_done