Re: Idea: Git Bundle V3 capability @HEAD=ref/heads/<name>
- From
brian m. carlson <sandals@crustytoothpaste.net>
- Date
- Oct 7, 2022, 09:02 UTC
- Message-ID
- <Yz/rAHYi8JKylHqy@tapette.crustytoothpaste.net>
- In-Reply-To
- <037901f1-1649-1485-a853-9783b9d43b31@iee.email>
On 2022-10-06 at 15:55:49, Philip Oakley wrote:
Show 21 quoted lines
> In brian's recent work on V3 bundles [1, et al] I spotted a potential > idea for resolving the long standing problem that the bundle code may > need to guess at which ref HEAD was pointed [2, et al] at when there > were two branches that pointed at the same HEAD oid. > > The basic idea is to utilise the new 'capabilities' field to pass the > particular ref that is HEAD using a 'HEAD' capability > i.e. sending the capability @HEAD=ref/heads/<name> > > It's inclusion in the header wouldn't change the pack in any way, and > would resolve the guessing problem. > > It would be optional for those that don't want to explictly export the > HEAD ref's name, and could be also protected by requiring that HEAD is > listed in the pack, and maybe that the ref it points to is also > included, and maybe further that there is an alternate ambigous ref listed. > > The idea of the HEAD capability could also be extended to the transport > layer, as well as this bundle sneaker-net layer. > > Are there reasons why it couldn't work before I put it on my list of ideas?
I think this is a great idea. I might suggest "symref=HEAD:refs/heads/<name>" simply because it allows us to specify more than one symref if we feel like it in the future, but otherwise I have no objections.
I'm glad someone's finding my v3 bundle work more generally useful.
-- brian m. carlson (he/him or they/them) Toronto, Ontario, CA