Project

General

Profile

Misc #15843

Updated by k0kubun (Takashi Kokubun) 11 months ago

## 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 operations 

 * 2019 
   * 5/22: 1. Announce the timing in this schedule ticket. Do the step 3 at that timing. 
 2. Change [ruby-commit-hook](https://github.com/ruby/ruby-commit-hook/blob/571e88441e3cc3edb689a1b1798f2685b80f929c/bin/check-email.rb#L51) to accept both `refs/heads/trunk` and `refs/heads/master`. 
 3. **[Main part] Rename `trunk` to `master`, and make `trunk` a symbolic-ref of `master`.** 
   * 5/23: Make `master` On git.ruby-lang.org, `sudo -u git bash -c "cd /var/git/ruby.git && mv refs/heads/trunk refs/heads/master && git symbolic-ref pointing refs/heads/trunk refs/heads/master"` 
 4. [Optional] On git.ruby-lang.org, `sudo -u git bash -c "cd /var/git/ruby.git && git symbolic-ref HEAD refs/heads/master"` 
 5. [Optional] Trigger GitHub mirror (create master branch on GitHub). On GitHub, change default branch to `master`. 

 ### Expected outcome 

 * Push to `trunk` on branch of git.ruby-lang.org 
   will be reflected to both `trunk` and `master` branches of git.ruby-lang.org immediately. 
 * 5/23~6/30: Ask maintainers of CI (or whatever integrated with the repository) Push to explicitly use `master` branch instead of git.ruby-lang.org will also be reflected to both `trunk` at ruby-core mailing list. 
   and `master` branches of git.ruby-lang.org immediately. 
 * 7/1: Switch HEAD Both of `trunk` and `master` branches on git.ruby-lang.org from GitHub will be always mirrored. 

 ### Out of scope (for a short term) 

 * Remove `trunk` branch 
 * Prohibit pushing to `master` `trunk` branch 
 * 2020 
   * 1/1: Drop Make `trunk` branch on git.ruby-lang.org (`mv refs/heads/trunk refs/heads/master` at `/var/git/ruby.git`) unavailable for clone

Back