From: "Neeraj K. Singh via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: Neeraj-Personal <nksingh85@gmail.com>,
"Johannes Schindelin" <Johannes.Schindelin@gmx.de>,
"Jeff King" <peff@peff.net>,
"Jeff Hostetler" <jeffhost@microsoft.com>,
"Christoph Hellwig" <hch@lst.de>,
"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>,
"Randall S. Becker" <rsbecker@nexbridge.com>,
"Bagas Sanjaya" <bagasdotme@gmail.com>,
"Elijah Newren" <newren@gmail.com>,
"Neeraj K. Singh" <neerajsi@microsoft.com>
Subject: [PATCH v9 0/9] Implement a batched fsync option for core.fsyncObjectFiles
Date: Mon, 15 Nov 2021 23:50:54 +0000 [thread overview]
Message-ID: <pull.1076.v9.git.git.1637020263.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.1076.v8.git.git.1633366667.gitgitgadget@gmail.com>
Thanks to everyone for review so far!
This series shares the base tmp-objdir patches with my merged version of
Elijah Newren's remerge-diff series at:
https://github.com/neerajsi-msft/git/tree/neerajsi/remerge-diff.
Changes between v8 and v9 [1]:
* Rebased onto master at tag v2.34.0
* Fixed git-prune bug when trying to clean up multiple cruft directories.
* Preserve the tmp-objdir around update_relative_gitdir, which is called by
setup_work_tree through the chdir_notify mechanism.
* Per [2], I'm leaving the fsyncObjectFiles configuration as is with
'true', 'false', and 'batch'. This makes using old and new versions of
git with 'batch' mode a little trickier, but hopefully people will
generally be moving forward in versions.
[1] See
https://lore.kernel.org/git/pull.1067.git.1635287730.gitgitgadget@gmail.com/
[2] https://lore.kernel.org/git/xmqqh7cimuxt.fsf@gitster.g/
Changes between v7 and v8:
* Dropped the tmp-objdir patch to avoid renaming in a quarantine/temporary
objdir, as suggested by Jeff King. This wasn't a good idea because we
don't really know that there's only a single reader/writer. Avoiding the
rename was a relatively minor perf optimization so it's okay to drop.
* Added disable_ref_updates logic (as a flag on the odb) which is set when
we're in a quarantine or when a tmp objdir is active. I believe this
roughly follows the strategy suggested by Jeff King.
Neeraj Singh (9):
tmp-objdir: new API for creating temporary writable databases
tmp-objdir: disable ref updates when replacing the primary odb
bulk-checkin: rename 'state' variable and separate 'plugged' boolean
core.fsyncobjectfiles: batched disk flushes
core.fsyncobjectfiles: add windows support for batch mode
update-index: use the bulk-checkin infrastructure
unpack-objects: use the bulk-checkin infrastructure
core.fsyncobjectfiles: tests for batch mode
core.fsyncobjectfiles: performance tests for add and stash
Documentation/config/core.txt | 29 ++++++++--
Makefile | 6 ++
builtin/prune.c | 23 ++++++--
builtin/receive-pack.c | 2 +-
builtin/unpack-objects.c | 3 +
builtin/update-index.c | 6 ++
bulk-checkin.c | 90 +++++++++++++++++++++++++----
bulk-checkin.h | 2 +
cache.h | 8 ++-
compat/mingw.h | 3 +
compat/win32/flush.c | 28 +++++++++
config.c | 7 ++-
config.mak.uname | 3 +
configure.ac | 8 +++
contrib/buildsystems/CMakeLists.txt | 3 +-
environment.c | 11 +++-
git-compat-util.h | 7 +++
object-file.c | 60 ++++++++++++++++++-
object-store.h | 26 +++++++++
object.c | 2 +-
refs.c | 2 +-
repository.c | 2 +
repository.h | 1 +
t/lib-unique-files.sh | 36 ++++++++++++
t/perf/p3700-add.sh | 43 ++++++++++++++
t/perf/p3900-stash.sh | 46 +++++++++++++++
t/t3700-add.sh | 20 +++++++
t/t3903-stash.sh | 14 +++++
t/t5300-pack-object.sh | 30 ++++++----
tmp-objdir.c | 55 +++++++++++++++++-
tmp-objdir.h | 29 +++++++++-
wrapper.c | 48 +++++++++++++++
write-or-die.c | 2 +-
33 files changed, 608 insertions(+), 47 deletions(-)
create mode 100644 compat/win32/flush.c
create mode 100644 t/lib-unique-files.sh
create mode 100755 t/perf/p3700-add.sh
create mode 100755 t/perf/p3900-stash.sh
base-commit: cd3e606211bb1cf8bc57f7d76bab98cc17a150bc
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1076%2Fneerajsi-msft%2Fneerajsi%2Fbulk-fsync-object-files-v9
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1076/neerajsi-msft/neerajsi/bulk-fsync-object-files-v9
Pull-Request: https://github.com/git/git/pull/1076
Range-diff vs v8:
1: f03797fd80d ! 1: 6b27afa60e0 tmp-objdir: new API for creating temporary writable databases
@@ Commit message
Based-on-patch-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Neeraj Singh <neerajsi@microsoft.com>
+ Signed-off-by: Junio C Hamano <gitster@pobox.com>
## builtin/prune.c ##
@@ builtin/prune.c: static int show_only;
@@ builtin/prune.c: static int prune_tmp_file(const char *fullpath)
+ if (show_only || verbose)
+ printf("Removing stale temporary directory %s\n", fullpath);
+ if (!show_only) {
++ strbuf_reset(&remove_dir_buf);
+ strbuf_addstr(&remove_dir_buf, fullpath);
+ remove_dir_recursively(&remove_dir_buf, 0);
+ }
@@ builtin/receive-pack.c: static const char *unpack(int err_fd, struct shallow_inf
if (err_fd > 0)
close(err_fd);
+ ## environment.c ##
+@@
+ #include "commit.h"
+ #include "strvec.h"
+ #include "object-store.h"
++#include "tmp-objdir.h"
+ #include "chdir-notify.h"
+ #include "shallow.h"
+
+@@ environment.c: static void update_relative_gitdir(const char *name,
+ void *data)
+ {
+ char *path = reparent_relative_path(old_cwd, new_cwd, get_git_dir());
++ struct tmp_objdir *tmp_objdir = tmp_objdir_unapply_primary_odb();
+ trace_printf_key(&trace_setup_key,
+ "setup: move $GIT_DIR to '%s'",
+ path);
++
+ set_git_dir_1(path);
++ if (tmp_objdir)
++ tmp_objdir_reapply_primary_odb(tmp_objdir, old_cwd, new_cwd);
+ free(path);
+ }
+
+
## object-file.c ##
@@ object-file.c: void add_to_alternates_memory(const char *reference)
'\n', NULL, 0);
@@ object.c: struct raw_object_store *raw_object_store_new(void)
odb_clear_loose_cache(odb);
## tmp-objdir.c ##
+@@
+ #include "cache.h"
+ #include "tmp-objdir.h"
++#include "chdir-notify.h"
+ #include "dir.h"
+ #include "sigchain.h"
+ #include "string-list.h"
@@
struct tmp_objdir {
struct strbuf path;
struct strvec env;
+ struct object_directory *prev_odb;
++ int will_destroy;
};
/*
@@ tmp-objdir.c: void tmp_objdir_add_as_alternate(const struct tmp_objdir *t)
+ if (t->prev_odb)
+ BUG("the primary object database is already replaced");
+ t->prev_odb = set_temporary_primary_odb(t->path.buf, will_destroy);
++ t->will_destroy = will_destroy;
++}
++
++struct tmp_objdir *tmp_objdir_unapply_primary_odb(void)
++{
++ if (!the_tmp_objdir || !the_tmp_objdir->prev_odb)
++ return NULL;
++
++ restore_primary_odb(the_tmp_objdir->prev_odb, the_tmp_objdir->path.buf);
++ the_tmp_objdir->prev_odb = NULL;
++ return the_tmp_objdir;
++}
++
++void tmp_objdir_reapply_primary_odb(struct tmp_objdir *t, const char *old_cwd,
++ const char *new_cwd)
++{
++ char *path;
++
++ path = reparent_relative_path(old_cwd, new_cwd, t->path.buf);
++ strbuf_reset(&t->path);
++ strbuf_addstr(&t->path, path);
++ free(path);
++ tmp_objdir_replace_primary_odb(t, t->will_destroy);
+}
## tmp-objdir.h ##
@@ tmp-objdir.h: int tmp_objdir_destroy(struct tmp_objdir *);
+ * If will_destroy is nonzero, the object directory may not be migrated.
+ */
+void tmp_objdir_replace_primary_odb(struct tmp_objdir *, int will_destroy);
++
++/*
++ * If the primary object database was replaced by a temporary object directory,
++ * restore it to its original value while keeping the directory contents around.
++ * Returns NULL if the primary object database was not replaced.
++ */
++struct tmp_objdir *tmp_objdir_unapply_primary_odb(void);
++
++/*
++ * Reapplies the former primary temporary object database, after protentially
++ * changing its relative path.
++ */
++void tmp_objdir_reapply_primary_odb(struct tmp_objdir *, const char *old_cwd,
++ const char *new_cwd);
++
+
#endif /* TMP_OBJDIR_H */
2: bc085137340 ! 2: 71817cccfb9 tmp-objdir: disable ref updates when replacing the primary odb
@@ Commit message
Reported-by: Jeff King <peff@peff.net>
Signed-off-by: Neeraj Singh <neerajsi@microsoft.com>
+ Signed-off-by: Junio C Hamano <gitster@pobox.com>
## environment.c ##
@@ environment.c: void setup_git_env(const char *git_dir)
3: 9335646ed91 = 3: 8fd1ca4c00a bulk-checkin: rename 'state' variable and separate 'plugged' boolean
4: b9d3d874432 = 4: e1747ce00af core.fsyncobjectfiles: batched disk flushes
5: 8df32eaaa9a ! 5: 951a559874e core.fsyncobjectfiles: add windows support for batch mode
@@ config.mak.uname: endif
compat/win32/path-utils.o \
compat/win32/pthread.o compat/win32/syslog.o \
compat/win32/trace2_win32_process_info.o \
-@@ config.mak.uname: ifneq (,$(findstring MINGW,$(uname_S)))
+@@ config.mak.uname: ifeq ($(uname_S),MINGW)
COMPAT_CFLAGS += -DSTRIP_EXTENSION=\".exe\"
COMPAT_OBJS += compat/mingw.o compat/winansi.o \
compat/win32/trace2_win32_process_info.o \
6: 15767270984 = 6: 4a40fd4a29a update-index: use the bulk-checkin infrastructure
7: e88bab809a2 = 7: cfc6a347d08 unpack-objects: use the bulk-checkin infrastructure
8: 811d6d31509 ! 8: 270c24827d0 core.fsyncobjectfiles: tests for batch mode
@@ t/lib-unique-files.sh (new)
## t/t3700-add.sh ##
@@ t/t3700-add.sh: test_description='Test of git add, including the -- option.'
-
+ TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
+. $TEST_DIRECTORY/lib-unique-files.sh
9: f4fa20f591e = 9: 12d99641f4c core.fsyncobjectfiles: performance tests for add and stash
--
gitgitgadget
next prev parent reply other threads:[~2021-11-16 3:24 UTC|newest]
Thread overview: 160+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-25 1:51 [PATCH 0/2] [RFC] Implement a bulk-checkin option for core.fsyncObjectFiles Neeraj K. Singh via GitGitGadget
2021-08-25 1:51 ` [PATCH 1/2] object-file: use futimes rather than utime Neeraj Singh via GitGitGadget
2021-08-25 13:51 ` Johannes Schindelin
2021-08-25 22:08 ` Neeraj Singh
2021-08-25 1:51 ` [PATCH 2/2] core.fsyncobjectfiles: batch disk flushes Neeraj Singh via GitGitGadget
2021-08-25 5:38 ` Christoph Hellwig
2021-08-25 17:40 ` Neeraj Singh
2021-08-26 5:54 ` Christoph Hellwig
2021-08-25 16:11 ` Ævar Arnfjörð Bjarmason
2021-08-26 0:49 ` Neeraj Singh
2021-08-26 5:50 ` Christoph Hellwig
2021-08-28 0:20 ` Neeraj Singh
2021-08-28 6:57 ` Christoph Hellwig
2021-08-31 19:59 ` Neeraj Singh
2021-09-01 5:09 ` Christoph Hellwig
2021-08-26 5:57 ` Christoph Hellwig
2021-08-25 18:52 ` Johannes Schindelin
2021-08-25 21:26 ` Junio C Hamano
2021-08-26 1:19 ` Neeraj Singh
2021-08-25 16:58 ` [PATCH 0/2] [RFC] Implement a bulk-checkin option for core.fsyncObjectFiles Neeraj Singh
2021-08-27 23:49 ` [PATCH v2 0/6] Implement a batched fsync " Neeraj K. Singh via GitGitGadget
2021-08-27 23:49 ` [PATCH v2 1/6] object-file: use futimens rather than utime Neeraj Singh via GitGitGadget
2021-08-27 23:49 ` [PATCH v2 2/6] bulk-checkin: rename 'state' variable and separate 'plugged' boolean Neeraj Singh via GitGitGadget
2021-08-27 23:49 ` [PATCH v2 3/6] core.fsyncobjectfiles: batched disk flushes Neeraj Singh via GitGitGadget
2021-08-27 23:49 ` [PATCH v2 4/6] core.fsyncobjectfiles: add windows support for batch mode Neeraj Singh via GitGitGadget
2021-08-27 23:49 ` [PATCH v2 5/6] update-index: use the bulk-checkin infrastructure Neeraj Singh via GitGitGadget
2021-08-27 23:49 ` [PATCH v2 6/6] core.fsyncobjectfiles: performance tests for add and stash Neeraj Singh via GitGitGadget
2021-09-07 19:44 ` [PATCH v2 0/6] Implement a batched fsync option for core.fsyncObjectFiles Neeraj Singh
2021-09-07 19:50 ` Ævar Arnfjörð Bjarmason
2021-09-07 19:54 ` Randall S. Becker
2021-09-08 0:54 ` Neeraj Singh
2021-09-08 1:22 ` Ævar Arnfjörð Bjarmason
2021-09-08 14:04 ` Randall S. Becker
2021-09-08 19:01 ` Neeraj Singh
2021-09-08 0:55 ` Neeraj Singh
2021-09-08 6:44 ` Junio C Hamano
2021-09-08 6:49 ` Christoph Hellwig
2021-09-08 13:57 ` Randall S. Becker
2021-09-08 14:13 ` 'Christoph Hellwig'
2021-09-08 14:25 ` Randall S. Becker
2021-09-08 16:34 ` Neeraj Singh
2021-09-08 19:12 ` Junio C Hamano
2021-09-08 19:20 ` Neeraj Singh
2021-09-08 19:23 ` Ævar Arnfjörð Bjarmason
2021-09-14 3:38 ` [PATCH v3 " Neeraj K. Singh via GitGitGadget
2021-09-14 3:38 ` [PATCH v3 1/6] bulk-checkin: rename 'state' variable and separate 'plugged' boolean Neeraj Singh via GitGitGadget
2021-09-14 3:38 ` [PATCH v3 2/6] core.fsyncobjectfiles: batched disk flushes Neeraj Singh via GitGitGadget
2021-09-14 10:39 ` Bagas Sanjaya
2021-09-14 19:05 ` Neeraj Singh
2021-09-14 19:34 ` Junio C Hamano
2021-09-14 20:33 ` Junio C Hamano
2021-09-15 4:55 ` Neeraj Singh
2021-09-14 3:38 ` [PATCH v3 3/6] core.fsyncobjectfiles: add windows support for batch mode Neeraj Singh via GitGitGadget
2021-09-14 3:38 ` [PATCH v3 4/6] update-index: use the bulk-checkin infrastructure Neeraj Singh via GitGitGadget
2021-09-14 19:35 ` Junio C Hamano
2021-09-14 3:38 ` [PATCH v3 5/6] core.fsyncobjectfiles: performance tests for add and stash Neeraj Singh via GitGitGadget
2021-09-14 3:38 ` [PATCH v3 6/6] core.fsyncobjectfiles: enable batch mode for testing Neeraj Singh via GitGitGadget
2021-09-15 16:21 ` Junio C Hamano
2021-09-15 22:43 ` Neeraj Singh
2021-09-15 23:12 ` Junio C Hamano
2021-09-16 6:19 ` Junio C Hamano
2021-09-14 5:49 ` [PATCH v3 0/6] Implement a batched fsync option for core.fsyncObjectFiles Christoph Hellwig
2021-09-20 22:15 ` [PATCH v4 " Neeraj K. Singh via GitGitGadget
2021-09-20 22:15 ` [PATCH v4 1/6] bulk-checkin: rename 'state' variable and separate 'plugged' boolean Neeraj Singh via GitGitGadget
2021-09-20 22:15 ` [PATCH v4 2/6] core.fsyncobjectfiles: batched disk flushes Neeraj Singh via GitGitGadget
2021-09-21 23:16 ` Ævar Arnfjörð Bjarmason
2021-09-22 1:23 ` Neeraj Singh
2021-09-22 2:02 ` Ævar Arnfjörð Bjarmason
2021-09-22 19:46 ` Neeraj Singh
2021-09-20 22:15 ` [PATCH v4 3/6] core.fsyncobjectfiles: add windows support for batch mode Neeraj Singh via GitGitGadget
2021-09-21 23:42 ` Ævar Arnfjörð Bjarmason
2021-09-22 1:23 ` Neeraj Singh
2021-09-20 22:15 ` [PATCH v4 4/6] update-index: use the bulk-checkin infrastructure Neeraj Singh via GitGitGadget
2021-09-21 23:46 ` Ævar Arnfjörð Bjarmason
2021-09-22 1:27 ` Neeraj Singh
2021-09-23 22:32 ` Neeraj Singh
2021-09-20 22:15 ` [PATCH v4 5/6] core.fsyncobjectfiles: tests for batch mode Neeraj Singh via GitGitGadget
2021-09-21 23:54 ` Ævar Arnfjörð Bjarmason
2021-09-22 1:30 ` Neeraj Singh
2021-09-22 1:58 ` Ævar Arnfjörð Bjarmason
2021-09-22 17:55 ` Neeraj Singh
2021-09-22 20:01 ` Ævar Arnfjörð Bjarmason
2021-09-20 22:15 ` [PATCH v4 6/6] core.fsyncobjectfiles: performance tests for add and stash Neeraj Singh via GitGitGadget
2021-09-24 20:12 ` [PATCH v5 0/7] Implement a batched fsync option for core.fsyncObjectFiles Neeraj K. Singh via GitGitGadget
2021-09-24 20:12 ` [PATCH v5 1/7] object-file.c: do not rename in a temp odb Neeraj Singh via GitGitGadget
2021-09-24 20:12 ` [PATCH v5 2/7] bulk-checkin: rename 'state' variable and separate 'plugged' boolean Neeraj Singh via GitGitGadget
2021-09-24 20:12 ` [PATCH v5 3/7] core.fsyncobjectfiles: batched disk flushes Neeraj Singh via GitGitGadget
2021-09-24 21:47 ` Neeraj Singh
2021-09-24 20:12 ` [PATCH v5 4/7] update-index: use the bulk-checkin infrastructure Neeraj Singh via GitGitGadget
2021-09-24 21:49 ` Neeraj Singh
2021-09-24 20:12 ` [PATCH v5 5/7] unpack-objects: " Neeraj Singh via GitGitGadget
2021-09-24 20:12 ` [PATCH v5 6/7] core.fsyncobjectfiles: tests for batch mode Neeraj Singh via GitGitGadget
2021-09-24 20:12 ` [PATCH v5 7/7] core.fsyncobjectfiles: performance tests for add and stash Neeraj Singh via GitGitGadget
2021-09-24 23:31 ` [PATCH v5 0/7] Implement a batched fsync option for core.fsyncObjectFiles Neeraj Singh
2021-09-24 23:53 ` [PATCH v6 0/8] " Neeraj K. Singh via GitGitGadget
2021-09-24 23:53 ` [PATCH v6 1/8] object-file.c: do not rename in a temp odb Neeraj Singh via GitGitGadget
2021-09-24 23:53 ` [PATCH v6 2/8] bulk-checkin: rename 'state' variable and separate 'plugged' boolean Neeraj Singh via GitGitGadget
2021-09-24 23:53 ` [PATCH v6 3/8] core.fsyncobjectfiles: batched disk flushes Neeraj Singh via GitGitGadget
2021-09-25 3:15 ` Bagas Sanjaya
2021-09-27 0:27 ` Neeraj Singh
2021-09-24 23:53 ` [PATCH v6 4/8] core.fsyncobjectfiles: add windows support for batch mode Neeraj Singh via GitGitGadget
2021-09-27 20:07 ` Junio C Hamano
2021-09-27 20:55 ` Neeraj Singh
2021-09-27 21:03 ` Neeraj Singh
2021-09-27 23:53 ` Junio C Hamano
2021-09-24 23:53 ` [PATCH v6 5/8] update-index: use the bulk-checkin infrastructure Neeraj Singh via GitGitGadget
2021-09-24 23:53 ` [PATCH v6 6/8] unpack-objects: " Neeraj Singh via GitGitGadget
2021-09-24 23:53 ` [PATCH v6 7/8] core.fsyncobjectfiles: tests for batch mode Neeraj Singh via GitGitGadget
2021-09-24 23:53 ` [PATCH v6 8/8] core.fsyncobjectfiles: performance tests for add and stash Neeraj Singh via GitGitGadget
2021-09-28 23:32 ` [PATCH v7 0/9] Implement a batched fsync option for core.fsyncObjectFiles Neeraj K. Singh via GitGitGadget
2021-09-28 23:32 ` [PATCH v7 1/9] object-file.c: do not rename in a temp odb Neeraj Singh via GitGitGadget
2021-09-28 23:55 ` Jeff King
2021-09-29 0:10 ` Neeraj Singh
2021-09-28 23:32 ` [PATCH v7 2/9] tmp-objdir: new API for creating temporary writable databases Neeraj Singh via GitGitGadget
2021-09-29 8:41 ` Elijah Newren
2021-09-29 16:40 ` Neeraj Singh
2021-09-28 23:32 ` [PATCH v7 3/9] bulk-checkin: rename 'state' variable and separate 'plugged' boolean Neeraj Singh via GitGitGadget
2021-09-28 23:32 ` [PATCH v7 4/9] core.fsyncobjectfiles: batched disk flushes Neeraj Singh via GitGitGadget
2021-09-28 23:32 ` [PATCH v7 5/9] core.fsyncobjectfiles: add windows support for batch mode Neeraj Singh via GitGitGadget
2021-09-28 23:32 ` [PATCH v7 6/9] update-index: use the bulk-checkin infrastructure Neeraj Singh via GitGitGadget
2021-09-28 23:32 ` [PATCH v7 7/9] unpack-objects: " Neeraj Singh via GitGitGadget
2021-09-28 23:32 ` [PATCH v7 8/9] core.fsyncobjectfiles: tests for batch mode Neeraj Singh via GitGitGadget
2021-09-28 23:32 ` [PATCH v7 9/9] core.fsyncobjectfiles: performance tests for add and stash Neeraj Singh via GitGitGadget
2021-10-04 16:57 ` [PATCH v8 0/9] Implement a batched fsync option for core.fsyncObjectFiles Neeraj K. Singh via GitGitGadget
2021-10-04 16:57 ` [PATCH v8 1/9] tmp-objdir: new API for creating temporary writable databases Neeraj Singh via GitGitGadget
2021-10-04 16:57 ` [PATCH v8 2/9] tmp-objdir: disable ref updates when replacing the primary odb Neeraj Singh via GitGitGadget
2021-10-04 16:57 ` [PATCH v8 3/9] bulk-checkin: rename 'state' variable and separate 'plugged' boolean Neeraj Singh via GitGitGadget
2021-10-04 16:57 ` [PATCH v8 4/9] core.fsyncobjectfiles: batched disk flushes Neeraj Singh via GitGitGadget
2021-10-04 16:57 ` [PATCH v8 5/9] core.fsyncobjectfiles: add windows support for batch mode Neeraj Singh via GitGitGadget
2021-10-04 16:57 ` [PATCH v8 6/9] update-index: use the bulk-checkin infrastructure Neeraj Singh via GitGitGadget
2021-10-04 16:57 ` [PATCH v8 7/9] unpack-objects: " Neeraj Singh via GitGitGadget
2021-10-04 16:57 ` [PATCH v8 8/9] core.fsyncobjectfiles: tests for batch mode Neeraj Singh via GitGitGadget
2021-10-04 16:57 ` [PATCH v8 9/9] core.fsyncobjectfiles: performance tests for add and stash Neeraj Singh via GitGitGadget
2021-11-15 23:50 ` Neeraj K. Singh via GitGitGadget [this message]
2021-11-15 23:50 ` [PATCH v9 1/9] tmp-objdir: new API for creating temporary writable databases Neeraj Singh via GitGitGadget
2021-11-30 21:27 ` Elijah Newren
2021-11-30 21:52 ` Neeraj Singh
2021-11-30 22:36 ` Elijah Newren
2021-11-15 23:50 ` [PATCH v9 2/9] tmp-objdir: disable ref updates when replacing the primary odb Neeraj Singh via GitGitGadget
2021-11-16 7:23 ` Ævar Arnfjörð Bjarmason
2021-11-16 20:38 ` Neeraj Singh
2021-11-15 23:50 ` [PATCH v9 3/9] bulk-checkin: rename 'state' variable and separate 'plugged' boolean Neeraj Singh via GitGitGadget
2021-11-15 23:50 ` [PATCH v9 4/9] core.fsyncobjectfiles: batched disk flushes Neeraj Singh via GitGitGadget
2021-11-15 23:50 ` [PATCH v9 5/9] core.fsyncobjectfiles: add windows support for batch mode Neeraj Singh via GitGitGadget
2021-11-15 23:51 ` [PATCH v9 6/9] update-index: use the bulk-checkin infrastructure Neeraj Singh via GitGitGadget
2021-11-15 23:51 ` [PATCH v9 7/9] unpack-objects: " Neeraj Singh via GitGitGadget
2021-11-15 23:51 ` [PATCH v9 8/9] core.fsyncobjectfiles: tests for batch mode Neeraj Singh via GitGitGadget
2021-11-15 23:51 ` [PATCH v9 9/9] core.fsyncobjectfiles: performance tests for add and stash Neeraj Singh via GitGitGadget
2021-11-16 8:02 ` [PATCH v9 0/9] Implement a batched fsync option for core.fsyncObjectFiles Ævar Arnfjörð Bjarmason
2021-11-17 7:06 ` Neeraj Singh
2021-11-17 7:24 ` Ævar Arnfjörð Bjarmason
2021-11-18 5:03 ` Neeraj Singh
2021-12-01 14:15 ` Ævar Arnfjörð Bjarmason
2022-03-09 23:02 ` Ævar Arnfjörð Bjarmason
2022-03-10 1:16 ` Neeraj Singh
2022-03-10 14:01 ` Ævar Arnfjörð Bjarmason
2022-03-10 17:52 ` Neeraj Singh
2022-03-10 18:08 ` rsbecker
2022-03-10 18:43 ` Neeraj Singh
2022-03-10 18:48 ` rsbecker
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=pull.1076.v9.git.git.1637020263.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=avarab@gmail.com \
--cc=bagasdotme@gmail.com \
--cc=git@vger.kernel.org \
--cc=hch@lst.de \
--cc=jeffhost@microsoft.com \
--cc=neerajsi@microsoft.com \
--cc=newren@gmail.com \
--cc=nksingh85@gmail.com \
--cc=peff@peff.net \
--cc=rsbecker@nexbridge.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).