On Mon, Aug 5, 2013 at 11:21 AM, René Scharfe <[email protected]> wrote:
> Sub-test 42 of t8001 and t8002 ("blame -L :literal") fails on NetBSD
> with the following verbose output:
>
> git annotate -L:main hello.c
> Author F (expected 4, attributed 3) bad
> Author G (expected 1, attributed 1) good
>
> This is not caused by different behaviour of git blame or annotate on
> that platform, but by different test input, in turn caused by a sed
> command that forgets to add a newline on NetBSD. Here's the diff of the
> commit that adds "goodbye" to hello.c, for Linux:
>
> @@ -1,4 +1,5 @@
> int main(int argc, const char *argv[])
> {
> puts("hello");
> + puts("goodbye");
> }
>
> We see that it adds an extra TAB,
Curious. On Mac OS X, there is only a single tab.
> but that's not a problem. Here's the
> same on NetBSD:
>
> @@ -1,4 +1,4 @@
> int main(int argc, const char *argv[])
> {
> puts("hello");
> -}
> + puts("goodbye");}
>
> It also adds an extra TAB, but it is missing the newline character
> after the semicolon.
>
> The following patch gets rid of the extra TAB at the beginning, but
> more importantly adds the missing newline at the end in a (hopefully)
> portable way, mentioned in http://sed.sourceforge.net/sedfaq4.html.
Tested on Mac OS X. Works correctly.
> The diff becomes this, on both Linux and NetBSD:
>
> @@ -1,4 +1,5 @@
> int main(int argc, const char *argv[])
> {
> puts("hello");
> + puts("goodbye");
> }
>
> Signed-off-by: Rene Scharfe <[email protected]>
> ---
> This regression was introduced by 5a9830cb ("t8001/t8002 (blame):
> add blame -L :funcname tests").
>
> t/annotate-tests.sh | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/t/annotate-tests.sh b/t/annotate-tests.sh
> index 0bfee00..d4e7f47 100644
> --- a/t/annotate-tests.sh
> +++ b/t/annotate-tests.sh
> @@ -245,8 +245,8 @@ test_expect_success 'setup -L :regex' '
> git commit -m "hello" &&
>
> mv hello.c hello.orig &&
> - sed -e "/}/i\\
> - Qputs(\"goodbye\");" <hello.orig | tr Q "\\t" >hello.c &&
> + sed -e "/}/ {x; s/$/Qputs(\"goodbye\");/; G;}" <hello.orig |
> + tr Q "\\t" >hello.c &&
Thanks.
Acked-by: Eric Sunshine <[email protected]>
> GIT_AUTHOR_NAME="G" GIT_AUTHOR_EMAIL="[email protected]" \
> git commit -a -m "goodbye" &&
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html