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