Why is the tip of the ocaml git repo "trunk"?

Currently, the OCaml repository in GitHub uses “trunk” as the name of the main branch rather than “master”. This is more than a little unusual — it is almost universally the case that the main branch in a git repository is named “master”, and for persons new to the project, or using scripts that come from elsewhere that assume “master” is the tip, it produces a bit of confusion. (I have hit this several times, my fingers really want to type “master” for a bunch of things.)

I’m sure this was done for a good reason at some point, but I’m curious what it is?

IIRC this is an artefact from the conversion from the SVN repository.

Given that it would be very easy to change (one simply creates a new branch tag pointing at the same revision and removes the old one), is there a reason that this has been left this way, other than tradition?

Is there a reason that this should be not left this way, other that git tradition ? :slight_smile:

Well, following tradition isn’t entirely a bad idea when lots of people are used to it, and especially when tools are used to it. (I had to manually adjust the tools I use for syncing to an upstream for example.)

(BTW, this isn’t an enormous deal, but it also doesn’t seem like that big a deal to fix. Though I might be wrong on that.)

Lots of people (basically every active contributor) are used to the branch being named trunk. Sure, if starting anew right now, this would probably not be explicitely renamed to trunk, but changing would be pointless and would annoy people that are used to the current name by breaking their own current config.

FYI, github’s robots.txt file only allows a branch called master to be indexed by google.

2 Likes

I remembered having read something similar, I found it : https://stackoverflow.com/questions/549920/is-it-possible-to-alias-a-branch-in-git/549949#549949

It would be possible to have a fake branch “trunk”, or a fake branch “master”, that both would be equivalent.

1 Like

Yes, git symbolic-ref refs/heads/trunk refs/heads/master would indeed make both groups of users happy.