Re: jn/apply-filename-with-sp (Re: What's cooking in git.git (Aug 2010, #02; Wed, 11))

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am 13.08.2010 00:40, schrieb Jonathan Nieder:
Johannes Sixt wrote:
Am 8/12/2010 1:35, schrieb Junio C Hamano:

* jn/apply-filename-with-sp (2010-07-23) 4 commits
  - apply: Handle traditional patches with space in filename
  - t4135 (apply): use expand instead of pr for portability
  - tests: Test how well "git apply" copes with weird filenames
  - apply: Split quoted filename handling into new function

Looked Ok.  Will merge to 'next'.

The test cases that work with files with tabs must have a prerequisite;
see t3600-rm.sh.

Would this work?

-- 8<  --
Subject: t4135 (apply): filenames with tabs are not usable on NTFS

Move the code setting up the FUNNYNAMES prerequisite from
v1.3.0-rc1~67 (workaround fat/ntfs deficiences for t3600-rm.sh,
2006-03-03) to test-lib and use it.

Reported-by: Johannes Sixt<j6t@xxxxxxxx>
Signed-off-by: Jonathan Nieder<jrnieder@xxxxxxxxx>

No, it needs this squashed in (warning, whitespace damaged), except that the prerequisite EXPAND is nowhere defined - it is only a hint for you(?) that we need something else there because we don't have expand on Windows.

I don't know why the test with quotes fails. It must be a bug in MSYS bash, because the file system does not have any problems with quotes in file names.

diff --git a/t/t4135-apply-weird-filenames.sh b/t/t4135-apply-weird-filenames.sh
index 5c7165e..6730a30 100755
--- a/t/t4135-apply-weird-filenames.sh
+++ b/t/t4135-apply-weird-filenames.sh
@@ -88,10 +88,10 @@ try_filename() {
 try_filename 'plain'            'postimage.txt'
 try_filename 'with spaces'      'post image.txt'
 try_filename 'with tab'         'post	image.txt' FUNNYNAMES
-try_filename 'with backslash'   'post\image.txt'
-try_filename 'with quote'       '"postimage".txt' '' success failure success
+try_filename 'with backslash'   'post\image.txt' BSLASHPSPEC
+try_filename 'with quote' '"postimage".txt' FUNNYNAMES success failure success

-test_expect_success FULLDIFF 'whitespace-damaged traditional patch' '
+test_expect_success EXPAND,FULLDIFF 'whitespace-damaged traditional patch' '
 	reset_preimage &&
 	reset_subdirs &&
 	echo postimage >b/postimage.txt &&
diff --git a/t/test-lib.sh b/t/test-lib.sh
index 1e5640b..d50e787 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -963,8 +963,8 @@ test -z "$NO_GETTEXT" && test_set_prereq GETTEXT
 f1='newline
 embedded'
 if
-	>"$f1" 2>/dev/null &&
-	>'tab	embedded' 2>/dev/null
+	{ >"$f1"; } 2>/dev/null &&
+	{ >'tab	embedded'; } 2>/dev/null
 then
 	test_set_prereq FUNNYNAMES
 fi

Without the braces in this check the error message is still printed. I didn't test whether just writing 2>/dev/null first would suppress it as well.

BTW, I would prefer to keep the test in t3600 and t4135, that it doesn't happen for every other test script unnecessarily.

-- Hannes
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]