From: Jeff King Date: Sun, 18 Apr 2010 12:01:45 GMT Subject: [PATCH] rebase-interactive: silence warning when no commits rewritten Message-ID: <20100418120145.GA14872@coredump.intra.peff.net> 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 --- We already use the same test just below when deciding whether to run the post-rewrite hook. git-rebase--interactive.sh | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh index b817c4a..436b7f5 100755 --- a/git-rebase--interactive.sh +++ b/git-rebase--interactive.sh @@ -562,12 +562,13 @@ do_next () { ;; esac && { test ! -f "$DOTEST"/verbose || 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 } && if test -x "$GIT_DIR"/hooks/post-rewrite && test -s "$REWRITTEN_LIST"; then "$GIT_DIR"/hooks/post-rewrite rebase < "$REWRITTEN_LIST" -- 1.7.1.rc1.279.gae4efc.dirty