Skip to contentSkip to conversation

reftable: document an alternate cleanup method on Windows

PATCH In review Han-Wen Nienhuys via GitGitGadget 2 participants 2 messages Apr 12, 2021 Documentation

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 reftable: document an alternate cleanup method on Windows

From: Han-Wen Nienhuys <[email protected]>

The new method uses the update_index counter, which isn't susceptible to clock inaccuracies.

---
reftable: document an alternate cleanup method on Windows

The new method uses the update_index counter, which isn't susceptible to clock inaccuracies.

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1001%2Fhanwen%2Fwindows-2-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1001/hanwen/windows-2-v1
Pull-Request: https://github.com/git/git/pull/1001

 Documentation/technical/reftable.txt | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)
Documentation/technical/reftable.txt +7 -2
index 3ef169af27d8..d7c3b645cfb0 100644
@@ -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

base-commit: 89b43f80a514aee58b662ad606e6352e03eaeee4

Signature · 1 line
gitgitgadget
#1 lore raw
Quoted 5 lines · Han-Wen Nienhuys via GitGitGadget

From: Han-Wen Nienhuys <[email protected]>

The new method uses the update_index counter, which isn't susceptible to clock inaccuracies.

Quoted 8 lines

---
reftable: document an alternate cleanup method on Windows

The new method uses the update_index counter, which isn't susceptible to clock inaccuracies.

Thanks, will queue.

Quoted 30 lines

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1001%2Fhanwen%2Fwindows-2-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1001/hanwen/windows-2-v1
Pull-Request: https://github.com/git/git/pull/1001

 Documentation/technical/reftable.txt | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)
Documentation/technical/reftable.txt +7 -2
index 3ef169af27d8..d7c3b645cfb0 100644
@@ -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

base-commit: 89b43f80a514aee58b662ad606e6352e03eaeee4