Subject: Re: receive.denyCurrentBranch

From: Jakub Narebski <[email-masked]>
Date: Sun, 08 Feb 2009 14:03:40 -0800 (PST)

Jay Soffian <[email-masked]> writes:

> What I especially like about Mercurial here is that pushing from A is
> perfectly symetrical to pulling from B.
> 
> With git, cloning sets things up to fetch into a tracking branch,
> but then the push is not symetric to the fetch. That makes sense if
> you're cloning from a bare repo, but I think leads to confusion for
> new users when they clone a non-bare repo they wish to later push
> into. I dunno, I guess we'll see if the new message helps any.

Push _is_ symmetric to fetch; it is not symmetric to pull, and it
cannot be.  BTW. Mercurial's pull is equivalent to Git's fetch.

That is of course provided that you have the same refspec(s) for
push and for fetch.  And up to the point: push needs to be via
authenticated channel, for obvious reasons.

The fact that default setup is not symmetric reflect the fact
that in most cases the situation is not symmetric: you fetch
from other remote repository into separate remotes layout,
you push into your own public bare publishing repository set
up in mirroring mode.

-- 
Jakub Narebski
Poland
ShadeHawk on #git