upload-pack: make sure deepening preserves shallow roots
When "fetch --depth=N" where N exceeds the longest chain of history in the source repo, usually we just send an "unshallow" line to the client so full history is obtained. When the source repo is shallow we need to make sure to "unshallow" the current shallow point _and_ "shallow" again when the commit reaches its shallow bottom in the source repo. This should fix both cases: large <N> and --unshallow. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
4820a33baa
commit
79d3a236c5
@ -619,7 +619,7 @@ static void receive_needs(void)
|
||||
if (depth > 0) {
|
||||
struct commit_list *result = NULL, *backup = NULL;
|
||||
int i;
|
||||
if (depth == INFINITE_DEPTH)
|
||||
if (depth == INFINITE_DEPTH && !is_repository_shallow())
|
||||
for (i = 0; i < shallows.nr; i++) {
|
||||
struct object *object = shallows.objects[i].item;
|
||||
object->flags |= NOT_SHALLOW;
|
||||
|
Reference in New Issue
Block a user