From: Martin Langhoff Date: Wed, 16 May 2007 01:51:47 GMT Subject: Re: pull/push inconsistencies Message-ID: <46a038f90705151851i9027e01x993300b1b50d0285@mail.gmail.com> In-Reply-To: <20070516014002.GA8062@fieldses.org> On 5/16/07, J. Bruce Fields wrote: > On Tue, May 15, 2007 at 06:22:29PM -0700, Junio C Hamano wrote: > > "Martin Langhoff" writes: > > > > > There are 2 things that I see as wrong... > > > - local .git/refs/remote/origin/foo and refs/heads/foo match - why is > > > git-push talking about updating them? > > > > Ooo... > > > > Do you mean if you have refs/remotes/origin/foo locally, and > > push into a repository that has refs/heads/foo (but not > > refs/remotes/origin/foo), the push results in refs/heads/foo > > getting updated? If that is what is happening (without any > > refspecs to instruct git-push to do so) that sounds quite buggy. > > I need to look into the code for this one. > > I understand him to be saying that it *doesn't* do that, and that he > *wants* it to. I'm probably in a bad-communication day :-/ I have locally .git/refs/remotes/origin/foo, and the remote repo has refs/heads/foo. I don't have .git/refs/heads/foo in this case. When I do git-push, it doesn't really change the remote repo, but it _tells_ me it has. So - behaviour-wise, it's fine. It's not changing the remote repo. But it tells me it does. It's just plain weird and misleading... > People think of refs/remotes/origin as a cache of the origin > repository's branch heads, and they expect it to be updated on write > (push) as well as read (fetch). Yes ;-) cheers, martin