diff options
author | Junio C Hamano <gitster@pobox.com> | 2023-08-04 20:52:31 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2023-08-04 20:52:31 +0300 |
commit | f4a7c24c094cff87a4b5a02550b321591d847ca0 (patch) | |
tree | 41348fe0917b88039920cc972fa06950dadec8d5 | |
parent | f9712d75e6389866efbe6ad918dc9773a8a880ad (diff) | |
parent | 835950bd19260426f664a9b0164c580db9f9aacb (diff) |
Merge branch 'hy/blame-in-bare-with-contents'
"git blame --contents=file" has been taught to work in a bare
repository.
* hy/blame-in-bare-with-contents:
blame: allow --contents to work with bare repo
-rw-r--r-- | blame.c | 4 | ||||
-rw-r--r-- | t/annotate-tests.sh | 9 |
2 files changed, 12 insertions, 1 deletions
@@ -2806,7 +2806,9 @@ void setup_scoreboard(struct blame_scoreboard *sb, parent_oid = &head_oid; } - setup_work_tree(); + if (!sb->contents_from) + setup_work_tree(); + sb->final = fake_working_tree_commit(sb->repo, &sb->revs->diffopt, sb->path, sb->contents_from, diff --git a/t/annotate-tests.sh b/t/annotate-tests.sh index 2ef70235b1..5e21e84f38 100644 --- a/t/annotate-tests.sh +++ b/t/annotate-tests.sh @@ -83,6 +83,15 @@ test_expect_success 'blame with --contents' ' check_count --contents=file A 2 ' +test_expect_success 'blame with --contents in a bare repo' ' + git clone --bare . bare-contents.git && + ( + cd bare-contents.git && + echo "1A quick brown fox jumps over the" >contents && + check_count --contents=contents A 1 + ) +' + test_expect_success 'blame with --contents changed' ' echo "1A quick brown fox jumps over the" >contents && echo "another lazy dog" >>contents && |