Re: [PATCH 0/1] Fix UX issue with commit-graph.lock
- Date: Wed, 9 May 2018 18:02:04 +0200
- From: Duy Nguyen <pclouds@xxxxxxxxx>
- Subject: Re: [PATCH 0/1] Fix UX issue with commit-graph.lock
On Wed, May 9, 2018 at 4:15 PM, Derrick Stolee <dstolee@xxxxxxxxxxxxx> wrote:
> We use the lockfile API to avoid multiple Git processes from writing to
> the commit-graph file in the .git/objects/info directory. In some cases,
> this directory may not exist, so we check for its existence.
> The existing code does the following when acquiring the lock:
> 1. Try to acquire the lock.
> 2. If it fails, try to create the .git/object/info directory.
> 3. Try to acquire the lock, failing if necessary.
> The problem is that if the lockfile exists, then the mkdir fails, giving
> an error that doesn't help the user:
> "fatal: cannot mkdir .git/objects/info: File exists"
> While technically this honors the lockfile, it does not help the user.
> Instead, do the following:
> 1. Check for existence of .git/objects/info; create if necessary.
> 2. Try to acquire the lock, failing if necessary.
> The new output looks like:
> fatal: Unable to create '/home/stolee/git/.git/objects/info/commit-graph.lock': File exists.
> Another git process seems to be running in this repository, e.g.
> an editor opened by 'git commit'. Please make sure all processes
> are terminated then try again. If it still fails, a git process
> may have crashed in this repository earlier:
> remove the file manually to continue.
This to me is a much better description than the current commit
message in 1/1 and probably should be the commit message of 1/1.