mirror of
https://github.com/git/git.git
synced 2025-01-06 07:33:59 +08:00
t5616: test bulk prefetch after partial fetch
Add test to t5616 to bulk fetch missing objects following a partial fetch. A technique like this could be used in a pre-command hook for example. Signed-off-by: Jeff Hostetler <jeffhost@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
aa57b871da
commit
3aa6694fb3
@ -105,7 +105,7 @@ test_expect_success 'push new commits to server for file.2.txt' '
|
||||
git -C src push -u srv master
|
||||
'
|
||||
|
||||
# Do FULL fetch by disabling filter-spec using --no-filter.
|
||||
# Do FULL fetch by disabling inherited filter-spec using --no-filter.
|
||||
# Verify we have all the new blobs.
|
||||
test_expect_success 'override inherited filter-spec using --no-filter' '
|
||||
git -C pc1 fetch --no-filter origin &&
|
||||
@ -113,4 +113,34 @@ test_expect_success 'override inherited filter-spec using --no-filter' '
|
||||
test_line_count = 0 observed
|
||||
'
|
||||
|
||||
# create new commits in "src" repo to establish a history on file.3.txt
|
||||
# and push to "srv.bare".
|
||||
test_expect_success 'push new commits to server for file.3.txt' '
|
||||
for x in a b c d e f
|
||||
do
|
||||
echo "Mod file.3.txt $x" >>src/file.3.txt
|
||||
git -C src add file.3.txt
|
||||
git -C src commit -m "mod $x"
|
||||
done &&
|
||||
git -C src push -u srv master
|
||||
'
|
||||
|
||||
# Do a partial fetch and then try to manually fetch the missing objects.
|
||||
# This can be used as the basis of a pre-command hook to bulk fetch objects
|
||||
# perhaps combined with a command in dry-run mode.
|
||||
test_expect_success 'manual prefetch of missing objects' '
|
||||
git -C pc1 fetch --filter=blob:none origin &&
|
||||
git -C pc1 rev-list master..origin/master --quiet --objects --missing=print \
|
||||
| awk -f print_1.awk \
|
||||
| sed "s/?//" \
|
||||
| sort >observed.oids &&
|
||||
test_line_count = 6 observed.oids &&
|
||||
git -C pc1 fetch-pack --stdin "file://$(pwd)/srv.bare" <observed.oids &&
|
||||
git -C pc1 rev-list master..origin/master --quiet --objects --missing=print \
|
||||
| awk -f print_1.awk \
|
||||
| sed "s/?//" \
|
||||
| sort >observed.oids &&
|
||||
test_line_count = 0 observed.oids
|
||||
'
|
||||
|
||||
test_done
|
||||
|
Loading…
Reference in New Issue
Block a user