status: show "-v" diff even for initial commit
authorJeff King <peff@peff.net>
Wed, 12 Nov 2008 08:23:37 +0000 (03:23 -0500)
committerJunio C Hamano <gitster@pobox.com>
Wed, 12 Nov 2008 21:55:17 +0000 (13:55 -0800)
Since we can use the same "diff against empty tree" trick as
we do for the non-initial case, it is trivial to make this
work.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t7507-commit-verbose.sh
wt-status.c

index 519adba80b4e5bc23a68c4bdcae607cf2d403c23..da5bd3b5a585667dad97481df27049f0aa7415eb 100755 (executable)
@@ -22,7 +22,7 @@ test_expect_success 'setup' '
        git commit -F message
 '
 
-test_expect_failure 'initial commit shows verbose diff' '
+test_expect_success 'initial commit shows verbose diff' '
        git commit --amend -v
 '
 
index cb1fc48079463a47b3d46ccc2096e9d450c39fdd..ec91fba601bab8a6e9545952cf08a0a544c8107d 100644 (file)
@@ -279,7 +279,8 @@ static void wt_status_print_verbose(struct wt_status *s)
        struct rev_info rev;
 
        init_revisions(&rev, NULL);
-       setup_revisions(0, NULL, &rev, s->reference);
+       setup_revisions(0, NULL, &rev,
+               s->is_initial ? EMPTY_TREE_SHA1_HEX : s->reference);
        rev.diffopt.output_format |= DIFF_FORMAT_PATCH;
        rev.diffopt.detect_rename = 1;
        rev.diffopt.file = s->fp;
@@ -343,7 +344,7 @@ void wt_status_print(struct wt_status *s)
        else if (s->commitable)
                 fprintf(s->fp, "# Untracked files not listed (use -u option to show untracked files)\n");
 
-       if (s->verbose && !s->is_initial)
+       if (s->verbose)
                wt_status_print_verbose(s);
        if (!s->commitable) {
                if (s->amend)