Re: pull/push inconsistencies
- From
Junio C Hamano <junkio@cox.net>
- Date
- May 16, 2007, 01:22 UTC
- Message-ID
- <7v646th8a2.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <46a038f90705151811o2159aa5ai84a13e77e790e376@mail.gmail.com>
"Martin Langhoff" <martin.langhoff@gmail.com> 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.
And I think earlier one I was confused that I thought you were talking about pushing into refs/heads/branch (where branch is checked out). Sorry.
Show 5 quoted lines
> - matching refs should ignore .git/refs/remote > > ... the 'matching refs' thing will > ignore the local .git/refs/remotes directory. AFAICS it's the only > sane thing to do.
I think you are probably right in that matching only heads and perhaps tags is a sane thing to do (even tags/ is debatable, as they are supposed to be immutable by convention). As a matter of fact I do not recall which part of refs/ namespace it looks at, but it is a very old part of the system and I would not be surprised if it silently assumed that there are only heads and tags there (and not explicitly matching heads and tags only).