## Background * We're using `trunk` branch as a canonical development branch because it has been mirrored to there by git-svn. * In a usual git repository, a HEAD branch is `master` by default. Using `trunk` instead of `master` is confusing and causes typo on git operations or typing git-related URLs. * We can make an *alias branch* by using symbolic-ref on `git.ruby-lang.org:ruby.git`. We can start using `master` branch without disturbing any `trunk` usage. Why not use it? ## Proposed schedule * 2019 * 5/22: Announce this schedule *(done)* * 5/23: Make `master` symbolic-ref pointing to `trunk` on git.ruby-lang.org *(done)* * 5/23~6/30: Ask maintainers of CI (or whatever integrated with the repository) to explicitly use `master` branch instead of `trunk` at ruby-core mailing list. *(asked)* * 7/1: Switch HEAD on git.ruby-lang.org from `trunk` to `master`, and reverse the symbolic-ref direction (change the default branch of GitHub ruby/ruby to `master` too) *(done)* * `sudo -u git bash -c "cd /var/git/ruby.git && mv refs/heads/trunk refs/heads/master && git symbolic-ref refs/heads/trunk refs/heads/master"` * 2020 * 1/1: Drop `trunk` branch on git.ruby-lang.org * `sudo -u git bash -c "cd /var/git/ruby.git && rm refs/heads/trunk"` ### Expected outcome * 2019 * 5/23: * `git push` to `trunk` branch of git.ruby-lang.org will be reflected to both `trunk` and `master` branches of git.ruby-lang.org immediately. * `git push` to `master` branch of git.ruby-lang.org will also be reflected to both `trunk` and `master` branches of git.ruby-lang.org immediately. * Both of `trunk` and `master` branches on GitHub will be always mirrored. * 7/1: * `git clone` checks out `master` instead of `trunk` by default. * 2020 * 1/1: * `trunk` branch cannot be `git fetch`ed and `git push`ed anymore.