git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Are concurrent git operations on the same repo safe?

From
Duy Nguyen <pclouds@gmail.com>
Date
Feb 6, 2018, 10:16 UTC
Message-ID
<CACsJy8Bhu6RvedKgOx8uExrJuo0-b66JvnZA9d9v4Uk6mSwPQQ@mail.gmail.com>
In-Reply-To
<CAGUnuBHY9nQvGiROm4S_JvBWMrzieHC1FE50fJqxaauzZhH7xw@mail.gmail.com>
On Tue, Feb 6, 2018 at 3:16 AM, Ian Norton <inorton@gmail.com> wrote:
Show 8 quoted lines
> 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...

Show 5 quoted lines
> Apologies if this is answered elsewhere, my google-foo is weak today.
>
> Many thanks
>
> Ian
-- 
Duy
Previous: Ian NortonNext: Stefan Beller
Message 2 of 5 in “Are concurrent git operations on the same repo safe?”
  1. Ian NortonFeb 5, 2018
  2. Duy NguyenFeb 6, 2018
  3. Stefan BellerFeb 6, 2018
  4. Jonathan NiederFeb 6, 2018
  5. Ian NortonFeb 6, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.