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

Re: Multiple clients accessing git over NFS

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Nov 15, 2010, 00:32 UTC
Message-ID
<20101115003259.GC26104@burratino>
In-Reply-To
<AANLkTim1bUbofDzC5HJnB--0WkT45ewbWCa25RebEgae@mail.gmail.com>
Khawaja Shams wrote:
>    I am still interested in knowing if git can handle multiple
> simultaneous pushes on the same repository without encountering
> corruption issues.

Yes, concurrent attempts to update a branch are serialized. (But please don't ask me to answer about NFS semantics. See

http://stackoverflow.com/questions/750765/concurrency-in-a-git-repo-on-a-network-shared-folder

for some notes.) See the note about fast-fowards in the git push manual for how integrity is preserved.

After reading that, you might wonder: if there are many, many clients pushing to the same branch, how is starvation avoided? Good question! It isn't. If you have so many clients wanting to push to a single branch, I would suggest having a single person or a few people maintaining it, pulling from others. Life will be better for many reasons, especially quality control.

Hope that helps. Jonathan

Previous: Khawaja ShamsNext: Jan Hudec
Message 4 of 10 in “Multiple clients accessing git over NFS”
  1. Khawaja ShamsNov 14, 2010
  2. Greg TroxelNov 14, 2010
  3. Khawaja ShamsNov 14, 2010
  4. Jonathan NiederNov 15, 2010
  5. Jan HudecNov 15, 2010
  6. Drew NorthupNov 15, 2010
  7. J. Bruce FieldsNov 15, 2010
  8. Sitaram ChamartyNov 15, 2010
  9. AlexNov 16, 2010
  10. Greg TroxelNov 14, 2010

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.