retr0h / gilt

A GIT layering tool.
https://retr0h.github.io/gilt/
MIT License
21 stars 5 forks source link

Gilt aborts when run concurrently #202

Closed 0xDEC0DE closed 4 months ago

0xDEC0DE commented 4 months ago

Steps to reproduce

for x in {1..8}
do
    go run main.go overlay &
done
wait

Expected result

All commands try to grab the lock, patiently wait their turn, run, and exit successfully.

Actual behavior

7 of the commands will say:

ERR error overlaying repositories err="could not acquire lock on gilt.lock: fslock: lock is held"

...and exit 1, and the eighth will grab the lock and run to completion

retr0h commented 4 months ago

Implemented in #203

0xDEC0DE commented 3 months ago

I have a CI pipeline that is unable to run successfully due to this bug. I can haz release?

retr0h commented 3 months ago

Sorry about that, I got a bit laziez, released v2.2.2