Re: Are concurrent git operations on the same repo safe?
- Date: Tue, 6 Feb 2018 09:30:47 -0800
- From: Stefan Beller <sbeller@xxxxxxxxxx>
- Subject: Re: Are concurrent git operations on the same repo safe?
On Tue, Feb 6, 2018 at 2:16 AM, Duy Nguyen <pclouds@xxxxxxxxx> wrote:
> On Tue, Feb 6, 2018 at 3:16 AM, Ian Norton <inorton@xxxxxxxxx> wrote:
>> Hi all,
>> I'm generally used to the idea that if a thing is not marked as
>> "thread-safe" then it isn't thread safe, but I thought I'd ask anyway
>> to be sure.
>> Is it safe for me to do several operations with git concurrently on
>> the same local repo?
> Off the top of my head, object database access (e.g. things in
> .git/objects), refs updates (.git/refs) and .git/index should handle
> concurrent operations fine (or in the worst case you get "some
> operation is ongoing, aborted" and you need to try again but not
> corruption or anything else). I think we generally try to make it safe
>> Specifically I'm trying to speed up "git
>> submodule update" by doing several at the same time. I've noticed
>> some odd side effects afterwards though when trying to commit changes
>> to my super project.
> submodule is a hot area with lots of development lately I think,
> perhaps you're seeing some bugs... CCing at least one submodule
>> Apologies if this is answered elsewhere, my google-foo is weak today.
>> Many thanks
"git submodule update" has the network part parallelized,
but not the local part IIRC. (That is cloning/fetching submodules
can be done with "-j <n>", but the local checkout is still serial for
UX purposes, i.e. it wants to stop at the first conflict and only
have one conflict at a time)
Which odd side effects do you see?
I'd be curious to see if that is a bug in the code or documentation.