From: Junio C Hamano Date: Wed, 23 May 2018 05:38:14 +0000 (+0900) Subject: Merge branch 'nd/repack-keep-pack' X-Git-Tag: v2.18.0-rc0~61 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=30b015bffe21a127d4f349f9e876562c3c94a1a2;p=thirdparty%2Fgit.git Merge branch 'nd/repack-keep-pack' "git gc" in a large repository takes a lot of time as it considers to repack all objects into one pack by default. The command has been taught to pretend as if the largest existing packfile is marked with ".keep" so that it is left untouched while objects in other packs and loose ones are repacked. * nd/repack-keep-pack: pack-objects: show some progress when counting kept objects gc --auto: exclude base pack if not enough mem to "repack -ad" gc: handle a corner case in gc.bigPackThreshold gc: add gc.bigPackThreshold config gc: add --keep-largest-pack option repack: add --keep-pack option t7700: have closing quote of a test at the beginning of line --- 30b015bffe21a127d4f349f9e876562c3c94a1a2 diff --cc builtin/gc.c index d604940bb6,3c7c93e961..c4777b2449 --- a/builtin/gc.c +++ b/builtin/gc.c @@@ -354,7 -493,7 +493,8 @@@ int cmd_gc(int argc, const char **argv const char *name; pid_t pid; int daemonized = 0; + int keep_base_pack = -1; + timestamp_t dummy; struct option builtin_gc_options[] = { OPT__QUIET(&quiet, N_("suppress progress reporting")), diff --cc config.mak.uname index a6e734c5d4,ae9cbccec1..684fc5bf02 --- a/config.mak.uname +++ b/config.mak.uname @@@ -37,7 -37,7 +37,8 @@@ ifeq ($(uname_S),Linux HAVE_GETDELIM = YesPlease SANE_TEXT_GREP=-a FREAD_READS_DIRECTORIES = UnfortunatelyYes + BASIC_CFLAGS += -DHAVE_SYSINFO + PROCFS_EXECUTABLE_PATH = /proc/self/exe endif ifeq ($(uname_S),GNU/kFreeBSD) HAVE_ALLOCA_H = YesPlease