diff --git a/CreatingSubRepository.md b/CreatingSubRepository.md index c39a4958..fe1e544c 100644 --- a/CreatingSubRepository.md +++ b/CreatingSubRepository.md @@ -1,16 +1,31 @@ -This page outlines the steps that need to be done after a new subrepository is added to go.googlesource.com, in order for it to get mirrored to GitHub, set up PR to Gerrit importing, etc.: +This page outlines the steps that need to be done to cretate a new subrepository, in order for it to have the same properties as all existing subrepositories: +- a golang.org/x redirect +- automatic git mirroring from Gerrit to GitHub +- automatic importing of GitHub PRs into Gerrit CLs -- Create a new empty repository at https://github.com/golang with the same name, complete with a description. - - Turn off Wikis, Issues in repository settings. +## Steps + +1. Create a new empty Gerrit repository at https://go.googlesource.com, complete with a description. +2. Create a new empty GitHub repository at https://github.com/golang with the same name and description. + - Turn off Wikis, Issues, Projects in repository settings. - On "Collaborators & teams" tab: - Add "golang org admins" team with Admin access. - Add "gophers" team with Write access. - Add "robots" team with Write access (can only be done by a maintainer of golang organization; ask someone else if you're not). - Create "cla: yes" and "cla: no" labels, they need to exist so that [@googlebot](https://github.com/googlebot) can automatically apply them. (Without a "cla: yes" label, PRs won't be imported into Gerrit.) -- Modify 3 x/build commands: +3. Modify 3 x/build commands: - In `cmd/gitmirror`, add the new repo to `shouldMirror` function. - In `maintner/maintnerd`, add the new repo to `goGitHubProjects` slice. - In `cmd/gerritbot`, add the new repo to `gerritProjectWhitelist` map. - - See [an example commit](https://github.com/golang/build/commit/a196f5a8e8d347b6b9fe4cd225a3393a77c03214). - - Redeploy all 3 in this order: `cmd/gitmirror` first, `maintner/maintnerd` second, `cmd/gerritbot` third. - - Note that it's expected for the new repo not to appear in maintner until first issue or PR is created (see [#25744](https://golang.org/issue/25744)). \ No newline at end of file + - See [an example CL](https://golang.org/cl/133896) for all 3 changes. +4. Modify 1 x/tools command: + - In `cmd/godoc`, add the new repo to `xMap` map. + - See [an example CL](https://golang.org/cl/156337). + - Also send a backport CL into the current release-branch of x/tools, since this is what will be deployed. + - See an example CL (TODO). +5. Redeploy all affected commands in the following order: + 1. `cmd/gitmirror` first + 2. `maintner/maintnerd` second + - Note that it's expected for the new repo not to appear in maintner until first issue or PR is created (see [#25744](https://golang.org/issue/25744)). + 3. `cmd/gerritbot` third + 4. `cmd/godoc` fourth \ No newline at end of file