Code

rebase-interactive: silence warning when no commits rewritten
authorJeff King <peff@peff.net>
Sun, 18 Apr 2010 12:01:45 +0000 (08:01 -0400)
committerJunio C Hamano <gitster@pobox.com>
Sun, 18 Apr 2010 18:41:53 +0000 (11:41 -0700)
If you do a "rebase -i" and don't change any commits,
nothing is rewritten, and we have no REWRITTEN_LIST. The
shell prints out an ugly message:

  $ GIT_EDITOR=true git rebase -i HEAD^
  /path/to/git-rebase--interactive: 1: cannot open
    /path/to/repo/.git/rebase-merge/rewritten-list: No such file
  Successfully rebased and updated refs/heads/master.

We can fix it by not running "notes copy" at all if nothing
was rewritten.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-rebase--interactive.sh

index b817c4a76e54c31f5a21d8196729f0cfb31997cf..436b7f5977c05c347debc12130f822af482c03e3 100755 (executable)
@@ -565,6 +565,7 @@ do_next () {
                        git diff-tree --stat $(cat "$DOTEST"/head)..HEAD
        } &&
        {
+               test -s "$REWRITTEN_LIST" &&
                git notes copy --for-rewrite=rebase < "$REWRITTEN_LIST" ||
                true # we don't care if this copying failed
        } &&