Linus Torvalds <torvalds@osdl.org> writes:I think we could do this instead, to make it less ugly. b92c9c07fe2d0d89c4f692573583c4753b5355d2 refs/tags/junio-gpg-pub!* a3eb250f996bf5e12376ec88622c4ccaabf20ea8 refs/tags/v0.99^0 I am not sure what the syntax should be, but the idea is to express the "refname" side using "extended SHA1" syntax. In the above example, I added a postfix '!*' to mean "deref tag zero-or-more times until you get a non-tag" ('!' to mean deref tag once and complain if the object is not tag, '!!' is deref twice, '!!!' is to deref three times and so on). It might be better to spell "v0.99^0" as "v0.99!*" in this context. [*1*] Both git-clone-pack and git-fetch-pack need to be told to ignore funny tagnames with trailing '!*', otherwise they would ask for the pointed-at object (which is not harmful but redundant) and the clone would create "refs/tags/v0.99!*", a file with a funny name. Git-peek-remote should report that, and server-info.c should be told to prepare these extra entries for ls-remote over other protocols. But I tend to agree that this is really a special case needed to support the "tagged objects are automatically followed by tags that tag them" model, and not needed if we stay in "tag is just a ref, and a ref is just an object name, and asking for an object pulls in other objects that are reachable from them" model. So it is not a very high priority for me, but I think this is one way to help Cogito cleanly, and I am willing to see how much damage this would cause to other parts of the core, *if* Cogito wants to use this mechanism. The alternative would be what Pasky outlined in his message -- bypassing git transport layer to fetch single object by hand, repeatedly dereferencing it until he gets a non-tag. I think that is unnecessary misery for him. [Footnote] *1* The difference from '^0' is that '!' does not complain on non-commit, and can be used to peel the onion one layer at a time. I do not know how useful the latter is in practice but somebody may want to express chains of trust by signing tags. - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
| Mikulas Patocka | LFENCE instruction (was: [rfc][patch 3/3] x86: optimise barriers) |
| Daniel J Blueman | time for TCP ECN defaulting to on? |
| Renato S. Yamane | Error -71 on device descriptor read/all |
| Zdenek Kabelac | Suspend to memory is freezing my machine |
git: | |
| Abdelrazak Younes | Git-windows and git-svn? |
| Giuseppe Bilotta | Re: gitweb and remote branches |
| Petr Baudis | repo.or.cz wishes? |
| Josh England | Re: cloning/pulling hooks |
| Reyk Floeter | Re: Real men don't attack straw men |
| Alexey Suslikov | OT: OpenBSD on Asus eeePC |
| Jernej Makovsek | How secure is OpenBSD really |
| Girish Venkatachalam | Ethernet jumbo frames? |
| Kim Phillips | [PATCH 0/5] fixups for mpc8360 rev. 2.1 erratum #2 (RGMII Timing) |
| Michael Grollman | Re: 8169 Intermittent ifup Failure Issue With RTL8102E Chipset in Intel's New D945... |
| Gerrit Renker | [PATCH 5/5] dccp: Tidy up setsockopt calls |
| Jeff Garzik | Re: [bug?] tg3: Failed to load firmware "tigon/tg3_tso.bin" |
