From: "Abhradeep Chakraborty via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: Junio C Hamano <gitster@pobox.com>,
Derrick Stolee <derrickstolee@github.com>,
Johannes Schindelin <Johannes.Schindelin@gmx.de>,
Abhradeep Chakraborty <chakrabortyabhradeep79@gmail.com>,
Abhradeep Chakraborty <chakrabortyabhradeep79@gmail.com>
Subject: [PATCH] partial-clone: add a partial-clone test case
Date: Sun, 13 Mar 2022 17:39:22 +0000 [thread overview]
Message-ID: <pull.1175.git.1647193162570.gitgitgadget@gmail.com> (raw)
From: Abhradeep Chakraborty <chakrabortyabhradeep79@gmail.com>
In a blobless-cloned repo, `git log --follow -- <path>` (`<path>` have
an exact OID rename) doesn't download blob of the file from where the
new file is renamed.
Add a test case to verify it.
Signed-off-by: Abhradeep Chakraborty <chakrabortyabhradeep79@gmail.com>
---
partial-clone: add a partial-clone test case
Fixes #827 [1]
[1] https://github.com/gitgitgadget/git/issues/827
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1175%2FAbhra303%2Fcheck_partial_clone-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1175/Abhra303/check_partial_clone-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/1175
t/t0410-partial-clone.sh | 16 ++++++++++++++++
t/test-lib-functions.sh | 2 +-
2 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/t/t0410-partial-clone.sh b/t/t0410-partial-clone.sh
index f17abd298c8..1e54f4844fd 100755
--- a/t/t0410-partial-clone.sh
+++ b/t/t0410-partial-clone.sh
@@ -618,6 +618,22 @@ test_expect_success 'do not fetch when checking existence of tree we construct o
git -C repo cherry-pick side1
'
+test_expect_success 'git log --follow does not download blobs if an exact OID rename found (blobless clone)' '
+ rm -rf repo partial.git &&
+ test_create_repo repo &&
+ content="some dummy content" &&
+ test_commit -C repo create-a-file file.txt "$content" &&
+ git -C repo mv file.txt new-file.txt &&
+ git -C repo commit -m rename-the-file &&
+ test_config -C repo uploadpack.allowfilter 1 &&
+ test_config -C repo uploadpack.allowanysha1inwant 1 &&
+
+ git clone --filter=blob:none "file://$(pwd)/repo" partial.git &&
+ GIT_TRACE2_EVENT="$(pwd)/trace.txt" \
+ git -C partial.git log --follow -- new-file.txt > "$(pwd)/trace.txt" &&
+ ! test_subcommand_inexact fetch <trace.txt
+'
+
test_expect_success 'lazy-fetch when accessing object not in the_repository' '
rm -rf full partial.git &&
test_create_repo full &&
diff --git a/t/test-lib-functions.sh b/t/test-lib-functions.sh
index 0f439c99d61..07a2b60c103 100644
--- a/t/test-lib-functions.sh
+++ b/t/test-lib-functions.sh
@@ -1811,7 +1811,7 @@ test_subcommand_inexact () {
shift
fi
- local expr=$(printf '"%s".*' "$@")
+ local expr=$(printf '.*"%s".*' "$@")
expr="${expr%,}"
if test -n "$negate"
base-commit: 1a4874565fa3b6668042216189551b98b4dc0b1b
--
gitgitgadget
next reply other threads:[~2022-03-13 17:39 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-13 17:39 Abhradeep Chakraborty via GitGitGadget [this message]
2022-03-13 19:41 ` [PATCH] partial-clone: add a partial-clone test case Junio C Hamano
2022-03-14 15:46 ` Abhradeep Chakraborty
2022-03-14 16:25 ` Derrick Stolee
2022-03-14 21:42 ` Junio C Hamano
2022-03-15 8:20 ` Abhradeep Chakraborty
2022-03-14 21:35 ` Junio C Hamano
2022-03-14 16:24 ` Derrick Stolee
2022-03-14 22:21 ` Junio C Hamano
2022-03-15 11:30 ` Abhradeep Chakraborty
2022-03-15 12:57 ` Derrick Stolee
2022-03-15 15:15 ` Abhradeep Chakraborty
2022-03-15 16:13 ` Junio C Hamano
2022-03-16 8:06 ` Abhradeep Chakraborty
2022-03-16 9:46 ` [PATCH v2] " Abhradeep Chakraborty via GitGitGadget
2022-03-21 15:26 ` Derrick Stolee
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=pull.1175.git.1647193162570.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=chakrabortyabhradeep79@gmail.com \
--cc=derrickstolee@github.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.