Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Documentation/blame-options.txt8
-rw-r--r--blame.c8
-rw-r--r--t/annotate-tests.sh11
3 files changed, 18 insertions, 9 deletions
diff --git a/Documentation/blame-options.txt b/Documentation/blame-options.txt
index 95599bd6e5..552dcc60f2 100644
--- a/Documentation/blame-options.txt
+++ b/Documentation/blame-options.txt
@@ -64,11 +64,9 @@ include::line-range-format.txt[]
manual page.
--contents <file>::
- Pretend the file being annotated has a commit with the
- contents from the named file and a parent of <rev>,
- defaulting to HEAD when no <rev> is specified. You may
- specify '-' to make the command read from the standard
- input for the file contents.
+ Annotate using the contents from the named file, starting from <rev>
+ if it is specified, and HEAD otherwise. You may specify '-' to make
+ the command read from the standard input for the file contents.
--date <format>::
Specifies the format used to output dates. If --date is not
diff --git a/blame.c b/blame.c
index 2c427bcdbf..47dd77d045 100644
--- a/blame.c
+++ b/blame.c
@@ -206,8 +206,12 @@ static struct commit *fake_working_tree_commit(struct repository *r,
origin = make_origin(commit, path);
- ident = fmt_ident("Not Committed Yet", "not.committed.yet",
- WANT_BLANK_IDENT, NULL, 0);
+ if (contents_from)
+ ident = fmt_ident("External file (--contents)", "external.file",
+ WANT_BLANK_IDENT, NULL, 0);
+ else
+ ident = fmt_ident("Not Committed Yet", "not.committed.yet",
+ WANT_BLANK_IDENT, NULL, 0);
strbuf_addstr(&msg, "tree 0000000000000000000000000000000000000000\n");
for (parent = commit->parents; parent; parent = parent->next)
strbuf_addf(&msg, "parent %s\n",
diff --git a/t/annotate-tests.sh b/t/annotate-tests.sh
index b35be20cf3..2ef70235b1 100644
--- a/t/annotate-tests.sh
+++ b/t/annotate-tests.sh
@@ -72,6 +72,13 @@ test_expect_success 'blame 1 author' '
check_count A 2
'
+test_expect_success 'blame working copy' '
+ test_when_finished "git restore file" &&
+ echo "1A quick brown fox jumps over the" >file &&
+ echo "another lazy dog" >>file &&
+ check_count A 1 "Not Committed Yet" 1
+'
+
test_expect_success 'blame with --contents' '
check_count --contents=file A 2
'
@@ -79,7 +86,7 @@ test_expect_success 'blame with --contents' '
test_expect_success 'blame with --contents changed' '
echo "1A quick brown fox jumps over the" >contents &&
echo "another lazy dog" >>contents &&
- check_count --contents=contents A 1 "Not Committed Yet" 1
+ check_count --contents=contents A 1 "External file (--contents)" 1
'
test_expect_success 'blame in a bare repo without starting commit' '
@@ -109,7 +116,7 @@ test_expect_success 'blame 2 authors' '
'
test_expect_success 'blame with --contents and revision' '
- check_count -h testTag --contents=file A 2 "Not Committed Yet" 2
+ check_count -h testTag --contents=file A 2 "External file (--contents)" 2
'
test_expect_success 'setup B1 lines (branch1)' '