Merge branch 'bc/hash-algo' into maint

* bc/hash-algo:
  t5601-clone: test case-conflicting files on case-insensitive filesystem
  repository: pre-initialize hash algo pointer
This commit is contained in:
Junio C Hamano 2018-01-21 21:12:37 -08:00
commit ea7b5de1c1
2 changed files with 18 additions and 1 deletions

View file

@ -5,7 +5,7 @@
/* The main repository */
static struct repository the_repo = {
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, &the_index, NULL, 0, 0
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, &the_index, &hash_algos[GIT_HASH_SHA1], 0, 0
};
struct repository *the_repository = &the_repo;

View file

@ -611,4 +611,21 @@ test_expect_success 'GIT_TRACE_PACKFILE produces a usable pack' '
git -C replay.git index-pack -v --stdin <tmp.pack
'
hex2oct () {
perl -ne 'printf "\\%03o", hex for /../g'
}
test_expect_success 'clone on case-insensitive fs' '
git init icasefs &&
(
cd icasefs
o=$(git hash-object -w --stdin </dev/null | hex2oct) &&
t=$(printf "100644 X\0${o}100644 x\0${o}" |
git hash-object -w -t tree --stdin) &&
c=$(git commit-tree -m bogus $t) &&
git update-ref refs/heads/bogus $c &&
git clone -b bogus . bogus
)
'
test_done