]> git.ipfire.org Git - thirdparty/git.git/commitdiff
reftable: document an alternate cleanup method on Windows
authorHan-Wen Nienhuys <hanwen@google.com>
Mon, 12 Apr 2021 19:12:36 +0000 (19:12 +0000)
committerJunio C Hamano <gitster@pobox.com>
Mon, 12 Apr 2021 21:29:44 +0000 (14:29 -0700)
The new method uses the update_index counter, which isn't susceptible to clock
inaccuracies.

Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/technical/reftable.txt

index 3ef169af27d8162a66df3471be0450df7ceccae4..d7c3b645cfb058d00bcca798a99e51096f56f065 100644 (file)
@@ -1011,8 +1011,13 @@ reftable stack, reload `tables.list`, and delete any tables no longer mentioned
 in `tables.list`.
 
 Irregular program exit may still leave about unused files. In this case, a
-cleanup operation can read `tables.list`, note its modification timestamp, and
-delete any unreferenced `*.ref` files that are older.
+cleanup operation should proceed as follows:
+
+* take a lock `tables.list.lock` to prevent concurrent modifications
+* refresh the reftable stack, by reading `tables.list`
+* for each `*.ref` file, remove it if
+** it is not mentioned in `tables.list`, and
+** its max update_index is not beyond the max update_index of the stack
 
 
 Alternatives considered