Re: 195b7ca6 breaks t9010 at current master
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- Mar 29, 2011, 04:24 UTC
- Message-ID
- <20110329042446.GB25693@elie>
- In-Reply-To
- <AANLkTik0CNXY9bKGOa9Xmai_OPQgExfLsFs1yN2pCVr8@mail.gmail.com>
Hi,
Øyvind A. Holm wrote:
> When running "make test" at current master (v1.7.4.2-406-gbe919d5),
> t9010-svn-fe.sh fails. Bisecting shows that 195b7ca6 ("vcs-svn: handle
> log message with embedded NUL") breaks the test.Could you try with the following patch applied? It comes from squashing the last two patches from the svn-fe branch:
* tests: make sure input to sed is newline terminated * vcs-svn: add missing cast to printf argument
Sorry for the breakage. ---
diff --git a/t/t9010-svn-fe.sh b/t/t9010-svn-fe.sh index 478c860..6f6175a 100755 --- a/t/t9010-svn-fe.sh +++ b/t/t9010-svn-fe.sh @@ -407,7 +407,7 @@ test_expect_success 'NUL in log message, file content, and property name' ' OBJID :000000 100644 OBJID OBJID A greeting EOF - printf "\n%s" "something with an ASCII NUL (Q)" >expect.message && + printf "\n%s\n" "something with an ASCII NUL (Q)" >expect.message && printf "%s\n" "helQo" >expect.hello1 && printf "%s\n" "link hello" >expect.hello2 && { @@ -465,7 +465,11 @@ test_expect_success 'NUL in log message, file content, and property name' ' git diff-tree --root --stdin | sed "s/$_x40/OBJID/g" } >actual && - git cat-file commit HEAD | nul_to_q | sed -ne "/^\$/,\$ p" >actual.message && + { + git cat-file commit HEAD | nul_to_q && + echo + } | + sed -ne "/^\$/,\$ p" >actual.message && git cat-file blob HEAD^:greeting | nul_to_q >actual.hello1 && git cat-file blob HEAD:greeting | nul_to_q >actual.hello2 && test_cmp expect actual && diff --git a/vcs-svn/fast_export.c b/vcs-svn/fast_export.c index 2e5bb67..99ed70b 100644 --- a/vcs-svn/fast_export.c +++ b/vcs-svn/fast_export.c @@ -51,7 +51,8 @@ void fast_export_commit(uint32_t revision, const char *author, *author ? author : "nobody", *author ? author : "nobody", *uuid ? uuid : "local", timestamp); - printf("data %"PRIuMAX"\n", log->len + strlen(gitsvnline)); + printf("data %"PRIuMAX"\n", + (uintmax_t) (log->len + strlen(gitsvnline))); fwrite(log->buf, log->len, 1, stdout); printf("%s\n", gitsvnline); if (!first_commit_done) {