... | @@ -319,52 +319,6 @@ are migrating a TPA repository, *do* make sure to first follow the |
... | @@ -319,52 +319,6 @@ are migrating a TPA repository, *do* make sure to first follow the |
|
above procedure as the procedure below doesn't do anything to actually
|
|
above procedure as the procedure below doesn't do anything to actually
|
|
mirror or archive the repository to GitLab (yet).
|
|
mirror or archive the repository to GitLab (yet).
|
|
|
|
|
|
> (That said, it *should* be possible to do the following procedure to
|
|
|
|
> automate this:
|
|
|
|
>
|
|
|
|
> 1. visit the [project import page](https://gitlab.torproject.org/projects/new#import_project)
|
|
|
|
>
|
|
|
|
> 2. enter the project URL, something like:
|
|
|
|
>
|
|
|
|
> https://git.torproject.org/$GITOLITE_PROJECT
|
|
|
|
>
|
|
|
|
> 3. pick a project name, verify the project slug matches
|
|
|
|
>
|
|
|
|
> 4. pick the project namespace (hint: `tpa` will autocomplete to
|
|
|
|
> `tpo/tpa`)
|
|
|
|
>
|
|
|
|
> 5. hit <kbd>Create</kbd>
|
|
|
|
>
|
|
|
|
> 6. once the import complete, if requested, archive the repository
|
|
|
|
> by going to Settings -> General (Advanced) -> Expand -> Archive
|
|
|
|
> Project
|
|
|
|
>
|
|
|
|
> 7. change the `.mrconfig` in [tpo/tpa/repos.git](https://gitlab.torproject.org/tpo/tpa/repos.git) to point to the
|
|
|
|
> new repository
|
|
|
|
>
|
|
|
|
> Alternatively, the [create project API has an `import_url`
|
|
|
|
> field](https://docs.gitlab.com/ee/api/projects.html#create-project). that could be used to automate the above.
|
|
|
|
>
|
|
|
|
> Another way to do this, from the command-line, would be:
|
|
|
|
>
|
|
|
|
> 1. clone the repository
|
|
|
|
>
|
|
|
|
> git clone https://git.torproject.org/$GITOLITE_PROJECT
|
|
|
|
>
|
|
|
|
> 2. push to GitLab ([creating a private project](https://docs.gitlab.com/ee/user/project/#create-a-new-project-with-git-push))
|
|
|
|
>
|
|
|
|
> git remote set-url origin https://gitlab.torproject.org/$GITLAB_PROJECT
|
|
|
|
>
|
|
|
|
> 3. adjust the project's privacy setting (making it public, most
|
|
|
|
> likely)
|
|
|
|
>
|
|
|
|
> 4. optionally archive the GitLab project
|
|
|
|
>
|
|
|
|
> 5. change the `.mrconfig` in [tpo/tpa/repos.git](https://gitlab.torproject.org/tpo/tpa/repos.git) to point to the
|
|
|
|
> new repository
|
|
|
|
>
|
|
|
|
> Steps 4 and 5 would require GitLab API access.)
|
|
|
|
|
|
|
|
The procedure is this simple two-step process:
|
|
The procedure is this simple two-step process:
|
|
|
|
|
|
1. (optional) triage the ticket with the labels ~Git and ~Gitweb, and
|
|
1. (optional) triage the ticket with the labels ~Git and ~Gitweb, and
|
... | @@ -386,7 +340,7 @@ The procedure is this simple two-step process: |
... | @@ -386,7 +340,7 @@ The procedure is this simple two-step process: |
|
|
|
|
|
The following changes are done by the Fabric task:
|
|
The following changes are done by the Fabric task:
|
|
|
|
|
|
1.. make an (executable) `pre-receive` hook in `git-rw` with an exit
|
|
1. make an (executable) `pre-receive` hook in `git-rw` with an exit
|
|
status of `1` warning about the new code location
|
|
status of `1` warning about the new code location
|
|
|
|
|
|
2. in Puppet, add a line for this project in
|
|
2. in Puppet, add a line for this project in
|
... | @@ -410,6 +364,52 @@ The following changes are done by the Fabric task: |
... | @@ -410,6 +364,52 @@ The following changes are done by the Fabric task: |
|
|
|
|
|
repo debian/torproject-keyring
|
|
repo debian/torproject-keyring
|
|
|
|
|
|
|
|
> That said, it *should* be possible to automate the import from
|
|
|
|
> gitolite. For now, the manual procedure for TPA repositories is:
|
|
|
|
>
|
|
|
|
> 1. visit the [project import page](https://gitlab.torproject.org/projects/new#import_project)
|
|
|
|
>
|
|
|
|
> 2. enter the project URL, something like:
|
|
|
|
>
|
|
|
|
> https://git.torproject.org/$GITOLITE_PROJECT
|
|
|
|
>
|
|
|
|
> 3. pick a project name, verify the project slug matches
|
|
|
|
>
|
|
|
|
> 4. pick the project namespace (hint: `tpa` will autocomplete to
|
|
|
|
> `tpo/tpa`)
|
|
|
|
>
|
|
|
|
> 5. hit <kbd>Create</kbd>
|
|
|
|
>
|
|
|
|
> 6. once the import complete, if requested, archive the repository
|
|
|
|
> by going to Settings -> General (Advanced) -> Expand -> Archive
|
|
|
|
> Project
|
|
|
|
>
|
|
|
|
> 7. change the `.mrconfig` in [tpo/tpa/repos.git](https://gitlab.torproject.org/tpo/tpa/repos.git) to point to the
|
|
|
|
> new repository
|
|
|
|
>
|
|
|
|
> Alternatively, the [create project API has an `import_url` field](https://docs.gitlab.com/ee/api/projects.html#create-project)
|
|
|
|
> which could be used to automate the above.
|
|
|
|
>
|
|
|
|
> Another way to do this, from the command-line, would be:
|
|
|
|
>
|
|
|
|
> 1. clone the repository
|
|
|
|
>
|
|
|
|
> git clone https://git.torproject.org/$GITOLITE_PROJECT
|
|
|
|
>
|
|
|
|
> 2. push to GitLab ([creating a private project](https://docs.gitlab.com/ee/user/project/#create-a-new-project-with-git-push))
|
|
|
|
>
|
|
|
|
> git remote set-url origin https://gitlab.torproject.org/$GITLAB_PROJECT
|
|
|
|
>
|
|
|
|
> 3. adjust the project's privacy setting (making it public, most
|
|
|
|
> likely)
|
|
|
|
>
|
|
|
|
> 4. optionally archive the GitLab project
|
|
|
|
>
|
|
|
|
> 5. change the `.mrconfig` in [tpo/tpa/repos.git](https://gitlab.torproject.org/tpo/tpa/repos.git) to point to the
|
|
|
|
> new repository
|
|
|
|
>
|
|
|
|
> Steps 4 and 5 would require GitLab API access.)
|
|
|
|
|
|
## Destroying a repository
|
|
## Destroying a repository
|
|
|
|
|
|
Instead of migrating a repository to GitLab, you might want to simply
|
|
Instead of migrating a repository to GitLab, you might want to simply
|
... | | ... | |