Elijah Newren <newren@xxxxxxxxx> writes: >> That leaves us in the interim with a "fast-export --anonymize" that is a >> little harder to use (you have no way to know which branch was which). > > Why does fast-export special case on "master" rather than on HEAD? > Isn't it more relevant to know the active branch than what _might_ > have been the initial branch? It kind of feels like a bug to me that > HEAD isn't the special case construct. I am torn on that one. Surely HEAD is often the branch that has our current attention. It may well be what we are exporting and we may want to see the topology formed by other refs relative to it. On the other hand, the current branch may not necessarily be what we are exporting. Historically a project has a single branch that is the focus of most users' attention when they talk about the general state of the project's progress, so it is understandable to expect that the topology may want to be seen relative to that one central line of development. > (Speaking as someone whose company a number of years ago had most > their big repos and lots of little repos switch their main branch to > be named "develop", and in some of those repos deleted "master" but > didn't in others. If I had needed some steps to reproduce a problem, > and hadn't been on the inside, any special casing from fast-export > would make more sense to me to apply to "develop" than to "master".) Yes, absolutely. You either check "develop" out temporarily just to take anonymized export to make "develop" discoverable in the output, or you would have set core.primaryBranch to "develop" once sometime in the past to tell Git that "develop" is that special one, not "master", so you can take such an export from any branch. As the anonymized export is primarily/solely a debugging aid, convenience would not be of much value, but the latter feels more convenient to me.