merge(third_party/git): Merge squashed git subtree at v2.23.0
Merge commit '1b593e1ea4
' as 'third_party/git'
This commit is contained in:
commit
7ef0d62730
3629 changed files with 1139935 additions and 0 deletions
105
third_party/git/t/t9302-fast-import-unpack-limit.sh
vendored
Executable file
105
third_party/git/t/t9302-fast-import-unpack-limit.sh
vendored
Executable file
|
@ -0,0 +1,105 @@
|
|||
#!/bin/sh
|
||||
test_description='test git fast-import unpack limit'
|
||||
. ./test-lib.sh
|
||||
|
||||
test_expect_success 'create loose objects on import' '
|
||||
test_tick &&
|
||||
cat >input <<-INPUT_END &&
|
||||
commit refs/heads/master
|
||||
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
|
||||
data <<COMMIT
|
||||
initial
|
||||
COMMIT
|
||||
|
||||
done
|
||||
INPUT_END
|
||||
|
||||
git -c fastimport.unpackLimit=2 fast-import --done <input &&
|
||||
git fsck --no-progress &&
|
||||
test $(find .git/objects/?? -type f | wc -l) -eq 2 &&
|
||||
test $(find .git/objects/pack -type f | wc -l) -eq 0
|
||||
'
|
||||
|
||||
test_expect_success 'bigger packs are preserved' '
|
||||
test_tick &&
|
||||
cat >input <<-INPUT_END &&
|
||||
commit refs/heads/master
|
||||
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
|
||||
data <<COMMIT
|
||||
incremental should create a pack
|
||||
COMMIT
|
||||
from refs/heads/master^0
|
||||
|
||||
commit refs/heads/branch
|
||||
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
|
||||
data <<COMMIT
|
||||
branch
|
||||
COMMIT
|
||||
|
||||
done
|
||||
INPUT_END
|
||||
|
||||
git -c fastimport.unpackLimit=2 fast-import --done <input &&
|
||||
git fsck --no-progress &&
|
||||
test $(find .git/objects/?? -type f | wc -l) -eq 2 &&
|
||||
test $(find .git/objects/pack -type f | wc -l) -eq 2
|
||||
'
|
||||
|
||||
test_expect_success 'lookups after checkpoint works' '
|
||||
hello_id=$(echo hello | git hash-object --stdin -t blob) &&
|
||||
id="$GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE" &&
|
||||
before=$(git rev-parse refs/heads/master^0) &&
|
||||
(
|
||||
cat <<-INPUT_END &&
|
||||
blob
|
||||
mark :1
|
||||
data 6
|
||||
hello
|
||||
|
||||
commit refs/heads/master
|
||||
mark :2
|
||||
committer $id
|
||||
data <<COMMIT
|
||||
checkpoint after this
|
||||
COMMIT
|
||||
from refs/heads/master^0
|
||||
M 100644 :1 hello
|
||||
|
||||
# pre-checkpoint
|
||||
cat-blob :1
|
||||
cat-blob $hello_id
|
||||
checkpoint
|
||||
# post-checkpoint
|
||||
cat-blob :1
|
||||
cat-blob $hello_id
|
||||
INPUT_END
|
||||
|
||||
n=0 &&
|
||||
from=$before &&
|
||||
while test x"$from" = x"$before"
|
||||
do
|
||||
if test $n -gt 30
|
||||
then
|
||||
echo >&2 "checkpoint did not update branch" &&
|
||||
exit 1
|
||||
else
|
||||
n=$(($n + 1))
|
||||
fi &&
|
||||
sleep 1 &&
|
||||
from=$(git rev-parse refs/heads/master^0)
|
||||
done &&
|
||||
cat <<-INPUT_END &&
|
||||
commit refs/heads/master
|
||||
committer $id
|
||||
data <<COMMIT
|
||||
make sure from "unpacked sha1 reference" works, too
|
||||
COMMIT
|
||||
from $from
|
||||
INPUT_END
|
||||
echo done
|
||||
) | git -c fastimport.unpackLimit=100 fast-import --done &&
|
||||
test $(find .git/objects/?? -type f | wc -l) -eq 6 &&
|
||||
test $(find .git/objects/pack -type f | wc -l) -eq 2
|
||||
'
|
||||
|
||||
test_done
|
Loading…
Add table
Add a link
Reference in a new issue