diff options
author | 2021-04-12 19:12:36 +0000 | |
---|---|---|
committer | 2021-04-12 14:29:44 -0700 | |
commit | 61a7660516131de505cf9654079a7ab7d7be704a (patch) | |
tree | 17a722f27eb9258c95bc037537e145e5bf13ba70 /Documentation/technical | |
parent | doc/reftable: document how to handle windows (diff) | |
download | tgif-61a7660516131de505cf9654079a7ab7d7be704a.tar.xz |
reftable: document an alternate cleanup method on Windows
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>
Diffstat (limited to 'Documentation/technical')
-rw-r--r-- | Documentation/technical/reftable.txt | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/Documentation/technical/reftable.txt b/Documentation/technical/reftable.txt index 3ef169af27..d7c3b645cf 100644 --- a/Documentation/technical/reftable.txt +++ b/Documentation/technical/reftable.txt @@ -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 |