On Thu, Mar 27, 2008 at 04:33:26PM -0400, James Carlson wrote: > Do you need this in the short term, or can you wait a few months? If > it's a short-term need, I don't think we'll be ready for you in time.
I'll have a solution running on our internal server before the end of April. > > An alternative is to use cascading repos; one for pulls, "P", and one for > > pushes, "Q". Use pretxnchangegroup on P, and have P execute a changegroup > > hook to push to Q. A prechangegroup hook on Q would ensure that only P can > > push to it. > > Yes, having a push-only gate makes a lot of sense if you have to deal > with the lack of read-side locking in Mercurial. I don't think we've > looked at this issue for ON yet, though. I was thinking that if mercurial had a pre-pull hook that would fire whenever it receives a pull/clone request then I could use that and a prechangegroup hook to implement a locking mechanism. But that would lead us to the situation you've described for the teamware ON gates. If I do the cascading repos then I don't have to introduce a reader lock. I know that Q will track P in near-realtime, so...it's starting to sound palatable. Dean