From: Patrick Steinhardt <ps@pks.im>
To: git@vger.kernel.org
Cc: Edward Thomson <ethomson@edwardthomson.com>,
Eric Sunshine <sunshine@sunshineco.com>,
Justin Tobler <jltobler@gmail.com>,
Junio C Hamano <gitster@pobox.com>,
karthik nayak <karthik.188@gmail.com>
Subject: [PATCH v3 0/7] reftable: stop using Git subsystems
Date: Mon, 18 Nov 2024 16:33:49 +0100 [thread overview]
Message-ID: <cover.1731943954.git.ps@pks.im> (raw)
In-Reply-To: <cover.1729677003.git.ps@pks.im>
Hi,
this is the third version of my patch series that continues to detangle
the reftable library from the Git codebase.
There is only a single change compared to v2, which is a clarification
that `tmpfile_rename()` also deactivates the underlying tmpfile.
Thanks!
Patrick
Patrick Steinhardt (7):
reftable/system: move "dir.h" to its only user
reftable: explicitly handle hash format IDs
reftable/system: stop depending on "hash.h"
reftable/stack: stop using `fsync_component()` directly
reftable/system: provide thin wrapper for tempfile subsystem
reftable/stack: drop only use of `get_locked_file_path()`
reftable/system: provide thin wrapper for lockfile subsystem
Makefile | 1 +
refs/reftable-backend.c | 19 +++-
reftable/basics.c | 13 ++-
reftable/basics.h | 10 +-
reftable/merged.c | 4 +-
reftable/merged.h | 3 +-
reftable/reader.c | 14 ++-
reftable/reader.h | 4 +-
reftable/reftable-basics.h | 13 +++
reftable/reftable-merged.h | 4 +-
reftable/reftable-reader.h | 2 +-
reftable/reftable-record.h | 12 +-
reftable/reftable-writer.h | 8 +-
reftable/stack.c | 171 ++++++++++++++--------------
reftable/system.c | 126 ++++++++++++++++++++
reftable/system.h | 89 ++++++++++++++-
reftable/writer.c | 20 +++-
t/helper/test-reftable.c | 4 +-
t/unit-tests/lib-reftable.c | 5 +-
t/unit-tests/lib-reftable.h | 2 +-
t/unit-tests/t-reftable-block.c | 41 +++----
t/unit-tests/t-reftable-merged.c | 26 ++---
t/unit-tests/t-reftable-pq.c | 3 +-
t/unit-tests/t-reftable-reader.c | 4 +-
t/unit-tests/t-reftable-readwrite.c | 41 +++----
t/unit-tests/t-reftable-record.c | 59 +++++-----
t/unit-tests/t-reftable-stack.c | 37 +++---
27 files changed, 506 insertions(+), 229 deletions(-)
create mode 100644 reftable/system.c
Range-diff against v2:
1: 2b7d4e28529 = 1: 2b7d4e28529 reftable/system: move "dir.h" to its only user
2: 38cfe85bf5b = 2: 38cfe85bf5b reftable: explicitly handle hash format IDs
3: 745c1a070dd = 3: 745c1a070dd reftable/system: stop depending on "hash.h"
4: 7782652b975 = 4: 7782652b975 reftable/stack: stop using `fsync_component()` directly
5: b15daefbc83 ! 5: 430be1045d6 reftable/system: provide thin wrapper for tempfile subsystem
@@ reftable/system.h: license that can be found in the LICENSE file or at
+
+/*
+ * Rename the temporary file to the provided path. The temporary file must be
-+ * active. Return 0 on success, a reftable error code on error.
++ * active. Return 0 on success, a reftable error code on error. Deactivates the
++ * temporary file.
+ */
+int tmpfile_rename(struct reftable_tmpfile *t, const char *path);
6: 83949837a29 = 6: b9ffdc605b9 reftable/stack: drop only use of `get_locked_file_path()`
7: 80fe5bc5e10 = 7: e1ac1cc2e67 reftable/system: provide thin wrapper for lockfile subsystem
--
2.47.0.274.g962d0b743d.dirty
next prev parent reply other threads:[~2024-11-18 15:34 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-23 9:55 [PATCH 0/7] reftable: stop using Git subsystems Patrick Steinhardt
2024-10-23 9:55 ` [PATCH 1/7] reftable/system: move "dir.h" to its only user Patrick Steinhardt
2024-10-24 4:18 ` Eric Sunshine
2024-10-23 9:55 ` [PATCH 2/7] reftable: explicitly handle hash format IDs Patrick Steinhardt
2024-11-07 23:11 ` Justin Tobler
2024-10-23 9:56 ` [PATCH 3/7] reftable/system: stop depending on "hash.h" Patrick Steinhardt
2024-11-08 1:10 ` Justin Tobler
2024-11-08 6:17 ` Patrick Steinhardt
2024-10-23 9:56 ` [PATCH 4/7] reftable/stack: stop using `fsync_component()` directly Patrick Steinhardt
2024-11-08 2:09 ` Justin Tobler
2024-11-08 6:17 ` Patrick Steinhardt
2024-10-23 9:56 ` [PATCH 5/7] reftable/system: provide thin wrapper for tempfile subsystem Patrick Steinhardt
2024-10-23 9:56 ` [PATCH 6/7] reftable/stack: drop only use of `get_locked_file_path()` Patrick Steinhardt
2024-10-23 9:56 ` [PATCH 7/7] reftable/system: provide thin wrapper for lockfile subsystem Patrick Steinhardt
2024-11-08 8:17 ` [PATCH v2 0/7] reftable: stop using Git subsystems Patrick Steinhardt
2024-11-08 8:17 ` [PATCH v2 1/7] reftable/system: move "dir.h" to its only user Patrick Steinhardt
2024-11-08 8:17 ` [PATCH v2 2/7] reftable: explicitly handle hash format IDs Patrick Steinhardt
2024-11-18 13:47 ` karthik nayak
2024-11-08 8:17 ` [PATCH v2 3/7] reftable/system: stop depending on "hash.h" Patrick Steinhardt
2024-11-12 5:53 ` Junio C Hamano
2024-11-18 13:54 ` karthik nayak
2024-11-08 8:17 ` [PATCH v2 4/7] reftable/stack: stop using `fsync_component()` directly Patrick Steinhardt
2024-11-18 14:02 ` karthik nayak
2024-11-18 15:26 ` Patrick Steinhardt
2024-11-08 8:17 ` [PATCH v2 5/7] reftable/system: provide thin wrapper for tempfile subsystem Patrick Steinhardt
2024-11-18 14:18 ` karthik nayak
2024-11-18 14:29 ` karthik nayak
2024-11-08 8:17 ` [PATCH v2 6/7] reftable/stack: drop only use of `get_locked_file_path()` Patrick Steinhardt
2024-11-08 8:17 ` [PATCH v2 7/7] reftable/system: provide thin wrapper for lockfile subsystem Patrick Steinhardt
2024-11-08 17:39 ` [PATCH v2 0/7] reftable: stop using Git subsystems Justin Tobler
2024-11-11 0:37 ` Junio C Hamano
2024-11-18 14:30 ` karthik nayak
2024-11-18 15:26 ` Patrick Steinhardt
2024-11-18 15:33 ` Patrick Steinhardt [this message]
2024-11-18 15:33 ` [PATCH v3 1/7] reftable/system: move "dir.h" to its only user Patrick Steinhardt
2024-11-18 15:33 ` [PATCH v3 2/7] reftable: explicitly handle hash format IDs Patrick Steinhardt
2024-11-18 15:33 ` [PATCH v3 3/7] reftable/system: stop depending on "hash.h" Patrick Steinhardt
2024-11-18 15:34 ` [PATCH v3 4/7] reftable/stack: stop using `fsync_component()` directly Patrick Steinhardt
2024-11-18 15:34 ` [PATCH v3 5/7] reftable/system: provide thin wrapper for tempfile subsystem Patrick Steinhardt
2024-11-18 15:34 ` [PATCH v3 6/7] reftable/stack: drop only use of `get_locked_file_path()` Patrick Steinhardt
2024-11-18 15:34 ` [PATCH v3 7/7] reftable/system: provide thin wrapper for lockfile subsystem Patrick Steinhardt
2024-11-19 14:23 ` [PATCH v3 0/7] reftable: stop using Git subsystems karthik nayak
2024-11-20 1:09 ` Junio C Hamano
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1731943954.git.ps@pks.im \
--to=ps@pks.im \
--cc=ethomson@edwardthomson.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jltobler@gmail.com \
--cc=karthik.188@gmail.com \
--cc=sunshine@sunshineco.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.
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 NNTP newsgroup(s).