Re: race condition when pushing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Lyle & Eric,

On Thu, 5 Nov 2015, Eric Sunshine wrote:

> On Thu, Nov 5, 2015 at 11:11 AM, Lyle Ziegelmiller <lyle_z@xxxxxxxxxxx> wrote:
> > git push --set-upstream  has some sort of race condition. Some times
> > when I execute it, it works. Other times, it does not. Below is from
> > my command window. I've executed the exact same command (using bash
> > history re-execution, so I know I didn't make a typo), repeatedly.
> > Notice the last execution results in an error. I am the only person on
> > my machine. This is non-deterministic behavior.
> >
> > lylez@LJZ-DELLPC ~/gittest/local
> > $ git push --set-upstream origin localbranch1
> > Branch localbranch1 set up to track remote branch localbranch1 from origin.
> > Everything up-to-date
> >
> > lylez@LJZ-DELLPC ~/gittest/local
> > $ git push --set-upstream origin localbranch1
> > Branch localbranch1 set up to track remote branch localbranch1 from origin.
> > Everything up-to-date
> >
> > lylez@LJZ-DELLPC ~/gittest/local
> > $ git push --set-upstream origin localbranch1
> > error: could not commit config file .git/config
> > Branch localbranch1 set up to track remote branch localbranch1 from origin.
> > Everything up-to-date
> >
> > I'm using Git in a Cygwin window on a 32-bit Windows 10 machine.

Are you using Cygwin's own Git, or Git for Windows, or something else?

> If I recall correctly, the typical culprit is a Windows virus scanner
> (or even an indexer) locking the file, so git is unable to manipulate
> it.

In Git for Windows, we have code to work around this issue by detecting
in-use files and waiting for a staggered amount of time to re-try:

https://github.com/git-for-windows/git/blob/c6f19b078bf05643c4d50dd520280a80f19f0002/compat/mingw.c#L208-L231

This is used e.g. by our `rename()` wrapper:

https://github.com/git-for-windows/git/blob/c6f19b078bf05643c4d50dd520280a80f19f0002/compat/mingw.c#L1859-L1904

Please note that this code is active in Git for Windows (i.e. the *MinGW*
version of Git) but not in Cygwin Git (nor the MSys2 version of Git).

Ciao,
Dscho
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]