Merge branch 'maint'

* maint:
  clone: Quote user supplied path in a single quote pair
  read-cache.c: fix index memory allocation
This commit is contained in:
Junio C Hamano 2011-10-27 12:03:37 -07:00
commit 82bc9f515c
3 changed files with 55 additions and 5 deletions

View file

@ -577,9 +577,9 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
if (0 <= option_verbosity) {
if (option_bare)
printf(_("Cloning into bare repository %s...\n"), dir);
printf(_("Cloning into bare repository '%s'...\n"), dir);
else
printf(_("Cloning into %s...\n"), dir);
printf(_("Cloning into '%s'...\n"), dir);
}
init_db(option_template, INIT_DB_QUIET);
write_config(&option_config);

View file

@ -1249,9 +1249,9 @@ static void convert_from_disk(struct ondisk_cache_entry *ondisk, struct cache_en
static inline size_t estimate_cache_size(size_t ondisk_size, unsigned int entries)
{
long per_entry;
per_entry = sizeof(struct cache_entry) - sizeof(struct ondisk_cache_entry);
size_t fix_size_mem = offsetof(struct cache_entry, name);
size_t fix_size_dsk = offsetof(struct ondisk_cache_entry, name);
long per_entry = (fix_size_mem - fix_size_dsk + 7) & ~7;
/*
* Alignment can cause differences. This should be "alignof", but

50
t/t7511-status-index.sh Executable file
View file

@ -0,0 +1,50 @@
#!/bin/sh
test_description='git status with certain file name lengths'
. ./test-lib.sh
files="0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z"
check() {
len=$1
prefix=$2
for i in $files
do
: >$prefix$i
done
test_expect_success "status, filename length $len" "
git add $prefix* &&
git status
"
rm $prefix* .git/index
}
check 1
check 2 p
check 3 pr
check 4 pre
check 5 pref
check 6 prefi
check 7 prefix
check 8 prefix-
check 9 prefix-p
check 10 prefix-pr
check 11 prefix-pre
check 12 prefix-pref
check 13 prefix-prefi
check 14 prefix-prefix
check 15 prefix-prefix-
check 16 prefix-prefix-p
check 17 prefix-prefix-pr
check 18 prefix-prefix-pre
check 19 prefix-prefix-pref
check 20 prefix-prefix-prefi
check 21 prefix-prefix-prefix
check 22 prefix-prefix-prefix-
check 23 prefix-prefix-prefix-p
check 24 prefix-prefix-prefix-pr
test_done