This series addresses two classes of "static struct lock_file", removing the staticness: Those locks that already live inside a function, and those that can simply be moved into the function they are used from. The first three patches are some cleanups I noticed along the way, where we first take a lock using LOCK_DIE_ON_ERROR, then check whether we got it. After this series, we have a small number of "static struct lock_file" left, namely those locks that are used from within more than one function. Thus, after this series, when one stumbles upon a static lock_file, it should be a clear warning that the lock is being used by more than one function. Martin Martin Ågren (5): t/helper/test-write-cache: clean up lock-handling refs.c: do not die if locking fails in `write_pseudoref()` refs.c: drop dead code checking lock status in `delete_pseudoref()` lock_file: make function-local locks non-static lock_file: move static locks into functions t/helper/test-scrap-cache-tree.c | 4 ++-- t/helper/test-write-cache.c | 14 +++++--------- apply.c | 2 +- builtin/add.c | 3 +-- builtin/describe.c | 2 +- builtin/difftool.c | 2 +- builtin/gc.c | 2 +- builtin/merge.c | 4 ++-- builtin/mv.c | 2 +- builtin/read-tree.c | 3 +-- builtin/receive-pack.c | 2 +- builtin/rm.c | 3 +-- bundle.c | 2 +- fast-import.c | 2 +- refs.c | 12 ++++-------- refs/files-backend.c | 2 +- rerere.c | 3 +-- shallow.c | 2 +- 18 files changed, 27 insertions(+), 39 deletions(-) -- 2.17.0.411.g9fd64c8e46