Subject: Re: [PATCH] filter-branch tests/docs: avoid \t in sed regexes

From: Thomas Rast <[email-masked]>
Date: Thu, 29 Jul 2010 16:52:52 +0200

Tomas Carnecky wrote:
> On 7/29/10 3:24 PM, Thomas Rast wrote:
> > Using \t to represent a tab character is not portable beyond GNU sed
> > (see e.g. GNU sed's info pages).  Use printf to generate the tab
> > instead.
[...]
> > That's very funny however, since it means that nobody should ever have
> > had a successful test run on OS X with the preinstalled tools.  What
> > gives?
[...]
> *** t7003-filter-branch.sh ***
> *   ok 17: use index-filter to move into a subdirectory

Oh, I know.  The test isn't correct, it should be something like the
patch below.  Otherwise a failure in git-diff (namely that
directorymoved:newsubdir is invalid) is never detected, and since the
output in this case is empty, also the test -z succeeds.  Can you
apply that and see if it makes the test fail for you?

diff --git i/t/t7003-filter-branch.sh w/t/t7003-filter-branch.sh
index e90da6d..a8e0c48 100755
--- i/t/t7003-filter-branch.sh
+++ w/t/t7003-filter-branch.sh
@@ -148,7 +148,9 @@ test_expect_success 'use index-filter to move into a subdirectory' '
 	          GIT_INDEX_FILE=\$GIT_INDEX_FILE.new \
 			git update-index --index-info &&
 		  mv \"\$GIT_INDEX_FILE.new\" \"\$GIT_INDEX_FILE\"" directorymoved &&
-	test -z "$(git diff HEAD directorymoved:newsubdir)"'
+	git diff HEAD directorymoved:newsubdir > actual &&
+	test ! -s actual
+'
 
 test_expect_success 'stops when msg filter fails' '
 	old=$(git rev-parse HEAD) &&

-- 
Thomas Rast
trast@{inf,student}.ethz.ch