Re: Renaming the "master" branch without breaking existing clones
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Aug 3, 2020, 18:47 UTC
- Message-ID
- <xmqqtuxjva6w.fsf@gitster.c.googlers.com>
- In-Reply-To
- <c014fe87-9663-3ff4-9527-bf60ff30d0d9@gmail.com>
Kaartic Sivaraam <kaartic.sivaraam@gmail.com> writes:
Show 24 quoted lines
> On 03-08-2020 21:44, Junio C Hamano wrote: >> >> If we wanted to do this properly, I'd imagine we'd need to add a >> mechanism for repositories to convey "this branch that used to exist >> got renamed to this other name", not specifically for any "special" >> branch name (like 'master'). If we plan to never allow reusing the >> old and banned name, it probably is enough to turn the old name into >> a symbolic ref that points at the new name, e.g. in my repository >> >> $ git update-ref refs/heads/seen refs/heads/pu >> $ git update-ref -d refs/heads/pu >> $ git symbolic-ref refs/heads/pu refs/heads/seen >> >> which would create a symbolic reference 'pu' that points at 'seen' >> to say "pu used to exist but it is now seen". >> >> But that would not work well, as we must allow reusing the old name, >> as the primary point of renaming 'pu' to 'seen' in this project was >> so that we can accept topics from contributors whose anglicized name >> has 'p' and 'u' in capital letters as pu/$topicname branches. Having >> a symbolic ref 'pu' would defeat that plan. > > Of course. Though, having a symbolic ref of 'pu/seen' to 'seen' would > hopefully not defeat the plan while being a little helpful ;)
How would that be helpful? After all, I do want to allow us accept a topic about 'seen' from author 'pu', and that pu/seen branch should be different from the "not yet ready for 'next' but at least the maintainer acknowledges that he has seen them" integration branch whose name is 'seen'.