* Are concurrent git operations on the same repo safe? @ 2018-02-05 20:16 Ian Norton 2018-02-06 10:16 ` Duy Nguyen 2018-02-06 20:10 ` Jonathan Nieder 0 siblings, 2 replies; 5+ messages in thread From: Ian Norton @ 2018-02-05 20:16 UTC (permalink / raw) To: git 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? 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. Apologies if this is answered elsewhere, my google-foo is weak today. Many thanks Ian ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Are concurrent git operations on the same repo safe? 2018-02-05 20:16 Are concurrent git operations on the same repo safe? Ian Norton @ 2018-02-06 10:16 ` Duy Nguyen 2018-02-06 17:30 ` Stefan Beller 2018-02-06 20:10 ` Jonathan Nieder 1 sibling, 1 reply; 5+ messages in thread From: Duy Nguyen @ 2018-02-06 10:16 UTC (permalink / raw) To: Ian Norton; +Cc: Git Mailing List, Stefan Beller On Tue, Feb 6, 2018 at 3:16 AM, Ian Norton <inorton@gmail.com> 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 concurrently. > 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 person... > Apologies if this is answered elsewhere, my google-foo is weak today. > > Many thanks > > Ian -- Duy ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Are concurrent git operations on the same repo safe? 2018-02-06 10:16 ` Duy Nguyen @ 2018-02-06 17:30 ` Stefan Beller 0 siblings, 0 replies; 5+ messages in thread From: Stefan Beller @ 2018-02-06 17:30 UTC (permalink / raw) To: Duy Nguyen; +Cc: Ian Norton, Git Mailing List On Tue, Feb 6, 2018 at 2:16 AM, Duy Nguyen <pclouds@gmail.com> wrote: > On Tue, Feb 6, 2018 at 3:16 AM, Ian Norton <inorton@gmail.com> 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 > concurrently. > >> 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 > person... > >> Apologies if this is answered elsewhere, my google-foo is weak today. >> >> Many thanks >> >> Ian "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. Thanks, Stefan ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Are concurrent git operations on the same repo safe? 2018-02-05 20:16 Are concurrent git operations on the same repo safe? Ian Norton 2018-02-06 10:16 ` Duy Nguyen @ 2018-02-06 20:10 ` Jonathan Nieder 2018-02-06 20:26 ` Ian Norton 1 sibling, 1 reply; 5+ messages in thread From: Jonathan Nieder @ 2018-02-06 20:10 UTC (permalink / raw) To: Ian Norton; +Cc: git Ian Norton wrote: > Specifically I'm trying to speed up "git > submodule update" by doing several at the same time. Can you say more about this? E.g. how can I reproduce your experience? Is there a script I can run? Thanks, Jonathan ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Are concurrent git operations on the same repo safe? 2018-02-06 20:10 ` Jonathan Nieder @ 2018-02-06 20:26 ` Ian Norton 0 siblings, 0 replies; 5+ messages in thread From: Ian Norton @ 2018-02-06 20:26 UTC (permalink / raw) To: Jonathan Nieder; +Cc: git Sure, my office is still devoid of power, i'll have to get back to you to be more precise but I was using a morally equivalent process to https://gitlab.com/inorton/git-multi-sync cd repo python -m gitmultisync --update-submodules where I had a superproject containing 5-6 submodules, some of which were quite large (1-2Gb history) Afterwards, I had trouble doing "git pull -r" in my submodules to pull in newer changes. On 6 February 2018 at 20:10, Jonathan Nieder <jrnieder@gmail.com> wrote: > Ian Norton wrote: > >> Specifically I'm trying to speed up "git >> submodule update" by doing several at the same time. > > Can you say more about this? E.g. how can I reproduce your experience? > Is there a script I can run? > > Thanks, > Jonathan ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2018-02-06 20:26 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2018-02-05 20:16 Are concurrent git operations on the same repo safe? Ian Norton 2018-02-06 10:16 ` Duy Nguyen 2018-02-06 17:30 ` Stefan Beller 2018-02-06 20:10 ` Jonathan Nieder 2018-02-06 20:26 ` Ian Norton
Code repositories for project(s) associated with this public inbox https://80x24.org/mirrors/git.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).