Setup
- Create a test repo with a master branch, issues, PRs - See samvera-labs/branch-renaming-wg for a script to do this.
- Within the test repo, create a wiki page that references a branch in master.
- Within the test repo, add branch settings under Settings → Branches
- Create a Fork of the test repo.
- Clone the test repo to your local machine.
- Clone the Fork to your local machine.
- Create a second repo with a pin in the Gemfile to a master sha in the repo having the branch renamed
Tool: gitHub-default-branch
Reference:
Usage:
install with
npm install -g github-default-branch
run with
github-default-branch --pat <github_access_token> --repo <github_username>/branch-renaming-test
Checklist:
- renames master to main
- branch dropdown defaults to main
- master is not in the branch dropdown
- Settings → Branches
- main is the default branch
- branch rules were copied over to main
- master branch is not in the branch dropdown under Default branch
- master branch is not listed in the Branch protection rules area
- updates issues
- changes reference to a sha in master to the same sha in main
- changes links to code in master branch to the same code in main (NOTE: Even though the link text and URL were not changed, GitHub forwards all 404 to the default branch which is main.)
- updates PRs
- updates 'commit into' branch to main for all PRs (NOTE:
- updates links to code in master branch to the same code in main (NOTE: Even though the link text and URL were not changed, GitHub forwards all 404 to the default branch which is main.)
- wiki updated
- updates links to code in master branch to the same code in main (NOTE: Even though the link text and URL were not changed, GitHub forwards all 404 to the default branch which is main.)
- local git repo
- updates to local master tracking origin/master to local main tracking origin/main
- updates branches based on origin/master to origin/main
- updates branches based on local master to local main
- in second repo, updates pin to master sha in the repo having the branch renamed
- working with Forks
- TBD
Additional areas not tested
- automated builds and deployments that reference master branch
- building images that aren't from tags but from branches
- Jenkins
- Ansible
- other tooling that references master branch
- git aliases
- local shell scripts
- maintenance scripts for github API
- git reflow or other 3rd party tools
- Integrations
- Github hooks, coveralls, code climate, hound, circleci
- mirroring with other sources (e.g. gitlab mirroring github)
- notifications to tools (e.g. slack integration)
- documentation (eg. raw.github.com URLs)
- wikis
- READMEs
- samvera.github.io
- samvera.org
- github pages for the project
- Contributing
- references to master in code
- Gemfile pins
- To possible JSON documents in Github repos
- forks
- Within "usual" contributors
- Other "users"
- In particular, Browse Everything has utility outside of Samvera's adopters