From: Junio C Hamano Date: Thu, 19 Apr 2012 19:05:56 GMT Subject: Re: [PATCH v7 4/4] git-rebase: add keep_empty flag Message-ID: In-Reply-To: Junio C Hamano writes: > Thomas Rast writes: > >> Either way, it should simply be spelled as >> >> is_empty_commit() { >> tree=$(git rev-parse "$1"^{tree}) >> ptree=$(git rev-parse "$1"^^{tree}) >> test "$tree" = "$ptree" >> } > > Thanks; will squash in something like this: > ... Ehh, not like that. But something like this, as we need to be able to pick "root" (t3412 insists on it). diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh index 82042b1..de71543 100644 --- a/git-rebase--interactive.sh +++ b/git-rebase--interactive.sh @@ -168,9 +168,11 @@ has_action () { } is_empty_commit() { - tree=$(git rev-parse "$1"^{tree}) - ptree=$(git rev-parse "$1"^^{tree}) - return $(test "$tree" = "$ptree") + tree=$(git rev-parse "$1"^{tree} 2>/dev/null) || + die "$1: not a commit that can be picked" + ptree=$(git rev-parse "$1"^^{tree} 2>/dev/null) || + ptree=4b825dc642cb6eb9a060e54bf8d69288fbee4904 + test "$tree" = "$ptree" } # Run command with GIT_AUTHOR_NAME, GIT_AUTHOR_EMAIL, and