зеркало из https://github.com/microsoft/git.git
Merge branch 'jc/maint-1.6.0-read-tree-overlay'
* jc/maint-1.6.0-read-tree-overlay: read-tree A B C: do not create a bogus index and do not segfault
This commit is contained in:
Коммит
7d4e3a72fb
|
@ -0,0 +1,31 @@
|
|||
#!/bin/sh
|
||||
|
||||
test_description='test multi-tree read-tree without merging'
|
||||
|
||||
. ./test-lib.sh
|
||||
|
||||
test_expect_success setup '
|
||||
echo one >a &&
|
||||
git add a &&
|
||||
git commit -m initial &&
|
||||
git tag initial &&
|
||||
echo two >b &&
|
||||
git add b &&
|
||||
git commit -m second &&
|
||||
git checkout -b side initial &&
|
||||
echo three >a &&
|
||||
mkdir b &&
|
||||
echo four >b/c &&
|
||||
git add b/c &&
|
||||
git commit -m third
|
||||
'
|
||||
|
||||
test_expect_success 'multi-read' '
|
||||
git read-tree initial master side &&
|
||||
(echo a; echo b/c) >expect &&
|
||||
git ls-files >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_done
|
||||
|
|
@ -49,7 +49,7 @@ static void add_entry(struct unpack_trees_options *o, struct cache_entry *ce,
|
|||
memcpy(new, ce, size);
|
||||
new->next = NULL;
|
||||
new->ce_flags = (new->ce_flags & ~clear) | set;
|
||||
add_index_entry(&o->result, new, ADD_CACHE_OK_TO_ADD|ADD_CACHE_OK_TO_REPLACE|ADD_CACHE_SKIP_DFCHECK);
|
||||
add_index_entry(&o->result, new, ADD_CACHE_OK_TO_ADD|ADD_CACHE_OK_TO_REPLACE);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -266,9 +266,9 @@ static int unpack_nondirectories(int n, unsigned long mask,
|
|||
if (o->merge)
|
||||
return call_unpack_fn(src, o);
|
||||
|
||||
n += o->merge;
|
||||
for (i = 0; i < n; i++)
|
||||
add_entry(o, src[i], 0, 0);
|
||||
if (src[i] && src[i] != o->df_conflict_entry)
|
||||
add_entry(o, src[i], 0, 0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче