Merge branch 'maint'
* maint: (35 commits) config.c: guard config parser from value=NULL builtin-log.c: guard config parser from value=NULL imap-send.c: guard config parser from value=NULL wt-status.c: guard config parser from value=NULL setup.c: guard config parser from value=NULL remote.c: guard config parser from value=NULL merge-recursive.c: guard config parser from value=NULL http.c: guard config parser from value=NULL help.c: guard config parser from value=NULL git.c: guard config parser from value=NULL diff.c: guard config parser from value=NULL convert.c: guard config parser from value=NULL connect.c: guard config parser from value=NULL builtin-tag.c: guard config parser from value=NULL builtin-show-branch.c: guard config parser from value=NULL builtin-reflog.c: guard config parser from value=NULL builtin-log.c: guard config parser from value=NULL builtin-config.c: guard config parser from value=NULL builtin-commit.c: guard config parser from value=NULL builtin-branch.c: guard config parser from value=NULL ...
This commit is contained in:
@ -1464,7 +1464,7 @@ static unsigned int check_delta_limit(struct object_entry *me, unsigned int n)
|
||||
return m;
|
||||
}
|
||||
|
||||
static unsigned long free_unpacked(struct unpacked *n)
|
||||
static unsigned long free_unpacked_data(struct unpacked *n)
|
||||
{
|
||||
unsigned long freed_mem = sizeof_delta_index(n->index);
|
||||
free_delta_index(n->index);
|
||||
@ -1474,6 +1474,12 @@ static unsigned long free_unpacked(struct unpacked *n)
|
||||
free(n->data);
|
||||
n->data = NULL;
|
||||
}
|
||||
return freed_mem;
|
||||
}
|
||||
|
||||
static unsigned long free_unpacked(struct unpacked *n)
|
||||
{
|
||||
unsigned long freed_mem = free_unpacked_data(n);
|
||||
n->entry = NULL;
|
||||
n->depth = 0;
|
||||
return freed_mem;
|
||||
@ -1514,7 +1520,7 @@ static void find_deltas(struct object_entry **list, unsigned *list_size,
|
||||
mem_usage > window_memory_limit &&
|
||||
count > 1) {
|
||||
uint32_t tail = (idx + window - count) % window;
|
||||
mem_usage -= free_unpacked(array + tail);
|
||||
mem_usage -= free_unpacked_data(array + tail);
|
||||
count--;
|
||||
}
|
||||
|
||||
@ -1547,6 +1553,9 @@ static void find_deltas(struct object_entry **list, unsigned *list_size,
|
||||
if (!m->entry)
|
||||
break;
|
||||
ret = try_delta(n, m, max_depth, &mem_usage);
|
||||
if (window_memory_limit &&
|
||||
mem_usage > window_memory_limit)
|
||||
mem_usage -= free_unpacked_data(m);
|
||||
if (ret < 0)
|
||||
break;
|
||||
else if (ret > 0)
|
||||
|
||||
Reference in New Issue
Block a user