Thread (11 messages) flat view 11 messages, 5 authors, 2016-06-15

Re: Update local tracking refs when pushing- no way to disable

From: Daniel Barkalow <hidden>
Date: 2016-06-15 22:43:20

On Fri, 6 Jul 2007, Johannes Schindelin wrote:
Hi,

Related, but not identical, is the problem illustrated in 
http://thread.gmane.org/gmane.comp.version-control.git/49888

IMHO there is a bug. IIUC git push first looks for common ref names on the 
local and remote side (yes, refs/remotes are excluded since v1.5.3-rc0~9, 
but the underlying problem is still there). Then it pushes them. But here, 
something seems to have gone wrong: refs/remotes/origin/HEAD is a symref. 
And the corresponding ref is updated. Should git-push not just _not_ 
update symrefs?
I believe this actually have nothing to do with git-push; it's actually 
git-receive-pack and maybe git-send-pack. Probably git-receive-pack 
shouldn't list symrefs at all, or should somehow report them as links so 
that they can be compared as links. The only refs that git-push itself 
updates are tracking refs on the local side for refs on the remote side 
which were updated. In the report, the reporter had (obviously) not 
configured any local tracking refs for the remote's tracking refs.

Now, if there are symref heads on the remote (maybe somebody wants to have 
a "dominus" branch which is a symref to "master" for people who only speak 
Latin), and this was in tracking refs as a symref as well, and the user 
pushed to both (with the remote side somehow identifying that the same 
change is being made to both names, and that's okay), then the tracking 
refs would need this same logic as well. But that requires an 
unimplemented and unrequested feature, with fixes in a number of other 
places first, before it's even possible to have git-push need to worry 
about it.

	-Daniel
*This .sig left intentionally blank*
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help