From: Jeff King Date: Sat, 29 Dec 2012 08:16:57 GMT Subject: Re: Lockless Refs? Message-ID: <20121229081657.GE15408@sigill.intra.peff.net> In-Reply-To: <7vhan6jdx3.fsf@alter.siamese.dyndns.org> On Fri, Dec 28, 2012 at 09:15:52AM -0800, Junio C Hamano wrote: > Martin Fick writes: > > > Hmm, actually I believe that with a small modification to the > > semantics described here it would be possible to make multi > > repo/branch commits work.... > > > > Shawn talked about adding multi repo/branch transaction > > semantics to jgit, this might be something that git wants to > > support also at some point? > > Shawn may have talked about it and you may have listened to it, but > others wouldn't have any idea what kind of "multi repo/branch > transaction" you are talking about. Is it about "I want to push > this ref to that repo and push this other ref to that other repo", > in what situation will it be used/useful, what are the failure > modes, what are failure tolerances by the expected use cases, ...? > > Care to explain? I cannot speak for Martin, but I am assuming the point is to atomically update 2 (or more) refs on the same repo. That is, if I have a branch "refs/heads/foo" and a ref pointing to meta-information (say, notes about commits in foo, in "refs/notes/meta/foo"), I would want to "git push" them, and only update them if _both_ will succeed, and otherwise fail and update nothing. I think Shawn mentioned this at the last GitTogether as a stumbling block for pushing more of Gerrit's meta-information as refs over the git protocol. But I might be mis-remembering. -Peff