'gs repo sync' left repo in broken state with concurrent write
- Lingua principale
- Go
- Stelle
- 762
- Fork
- 72
- Merge medio
- 18h 24m
- PR unite (30g)
- 28
Descrizione
A user reported the following:
```
$ gs repo sync
INF master: pulled 19 new commit(s)
INF feat1: #330613 was merged
FTL gs: delete merged branches: rebase: exit status 1
stderr:
error: update_ref failed for ref 'HEAD': cannot lock ref 'HEAD': Unable to create '[..]/.git/HEAD.lock': File exists.
Another git process [..]
error: could not detach HEAD
```
It looks like the rebase operation performed as part of deleting merged branches ran afoul of another process messing with the Git branch.
After the error, the user was left with a working tree at the state of the master branch, but HEAD pointing to the branch we failed to delete.
I don't think we can guard against HEAD.lock/index.lock conflicts, but perhaps there should be more recovery here.
Guida per i contributori
Apri la guida per i contributori
Valutazione
Questa issue non è ancora stata valutata.