A simple wrapper utility around git
that waits until index.lock
file is no longer present before forwarding all the
args to git
and running the command. This is especially useful when there are potentially other git commands running
on the same repo.
- Ensure Rust is installed.
- Run
cargo install git-wait
.
git-wait <git args>
The set-it-and-forget-it approach:
# Put this in your shell config.
alias git=git-wait
Timeout can be set by setting GIT_WAIT_TIMEOUT_MS
env var. It is in milliseconds.
# 5-second timeout:
$ GIT_WAIT_TIMEOUT_MS=5000 git-wait status
$ git-wait status
$ git-wait push
When index.lock
is present:
$ git-wait status
Waiting on index.lock... done!
<regular git status output>