From: Brandon Casey Date: Thu, 31 Jan 2008 00:13:57 GMT Subject: [PATCH 1/2] filter-branch: only print usage information when no arguments supplied Message-ID: <47A112C5.8010903@nrlssc.navy.mil> In-Reply-To: <47A109A7.1070502@nrlssc.navy.mil> Testing for whether command line arguments were supplied was being performed during option parsing. This had the side effect of printing usage information when a more appropriate error message would have been printed had the script been allowed to continue. Now this: git filter-branch will print usage information. And these: git filter-branch -d /tmp/work-dir git filter-branch git filter-branch -- git filter-branch -- will print a message informing the user that filter-branch did not know which reference to rewrite. Without this patch the one with '-d' would also print usage information. Signed-off-by: Brandon Casey --- I prefer my original patch since I think it is consistent with the git interface. -brandon git-filter-branch.sh | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/git-filter-branch.sh b/git-filter-branch.sh index ebf05ca..5e3fe70 100755 --- a/git-filter-branch.sh +++ b/git-filter-branch.sh @@ -97,6 +97,8 @@ USAGE="[--env-filter ] [--tree-filter ] \ OPTIONS_SPEC= . git-sh-setup +test $# = 0 && usage + git diff-files --quiet && git diff-index --cached --quiet HEAD -- || die "Cannot rewrite branch(es) with a dirty working directory." @@ -114,7 +116,6 @@ orig_namespace=refs/original/ force= while : do - test $# = 0 && usage case "$1" in --) shift -- 1.5.4.rc5.14.gaa8fc