Merge branch 'ns/batch-fsync'
commit83937e9592832408670da38bfe6e96c90ad63521
authorJunio C Hamano <gitster@pobox.com>
Fri, 3 Jun 2022 21:30:34 +0000 (3 14:30 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 3 Jun 2022 21:30:34 +0000 (3 14:30 -0700)
tree20c6895015e2c281780eba0fead78aef3862ed8e
parent377d347eb3b1a23ece080dc5e5b8df6958c56e96
parent112a9fe60d7c5f02ee1a805d8730d54a458b7ad1
Merge branch 'ns/batch-fsync'

Introduce a filesystem-dependent mechanism to optimize the way the
bits for many loose object files are ensured to hit the disk
platter.

* ns/batch-fsync:
  core.fsyncmethod: performance tests for batch mode
  t/perf: add iteration setup mechanism to perf-lib
  core.fsyncmethod: tests for batch mode
  test-lib-functions: add parsing helpers for ls-files and ls-tree
  core.fsync: use batch mode and sync loose objects by default on Windows
  unpack-objects: use the bulk-checkin infrastructure
  update-index: use the bulk-checkin infrastructure
  builtin/add: add ODB transaction around add_files_to_cache
  cache-tree: use ODB transaction around writing a tree
  core.fsyncmethod: batched disk flushes for loose-objects
  bulk-checkin: rebrand plug/unplug APIs as 'odb transactions'
  bulk-checkin: rename 'state' variable and separate 'plugged' boolean
16 files changed:
Documentation/config/core.txt
builtin/add.c
builtin/unpack-objects.c
builtin/update-index.c
bulk-checkin.c
cache-tree.c
cache.h
compat/mingw.h
config.c
git-compat-util.h
object-file.c
t/perf/p7519-fsmonitor.sh
t/perf/perf-lib.sh
t/t3903-stash.sh
t/t5300-pack-object.sh
t/test-lib-functions.sh