We are moving to git! Hopefully...maybe...someday!
This has been a change that has been discussed for years, but progress has been stalled because of different reasons. I decided to pick it up and work on getting devtools and dbscripts up to speed.
It's important to note that nothing is changing in the very-near future, and there is still A LOT left to be figured out. This email is intended for the ones that wish to help out testing the current point of concept and come forward with thoughts and ideas.
A quick summary of the technical changes so far:
- Each package is it's own git repository located under a packages group on gitlab
- Consolidated the dbscript distinction between "community" and "packages" into "packages" The git repostitories still keep the namespaces "community" for TUs, and "packages" for developers.
- devtools creates .SRCINFO files upon commit
- devtools creates signed tags in the package repository
- Git tags has a seperate version scheme from pacman because git has limitations - pacman version: 1:1.2.3-1 - git tag: release-1-1.2.3-1
## Gitlab Access
We have gotten a gitlab instance running where we can create repositories. To help testing svn2git migration you need to access this instance. All accounts from team-members should have been created already, and all you need to do is to reset the password with your archweb email.
If you don't get any emails, you should contact devops.
Important to note that I need to add you to the `package-test` group on gitlab if you wish to test the tooling. Please reply to me offlist, or poke me on `#archlinux-projects`.
## SVN Repository to Git conversion
Anthraxx, with the great help of Ismael, has rewritten the original `gitsvn2git` bash script to a nice python tool to help us convert git2svn packages into standalone git repositories. When following the instructions below you can make your own packages or play around with the script with your current packages.
## WIP Repository
Currently there is a POC server running dbscripts on svn2gittest.archlinux.org. This server is provisioned by the devops team, with me being the administrator.
Install the WIP devtools package from my repository: https://pkgbuild.com/~foxboron/repos/devtools/ It should live alongside the current devtools package and only provide the WIP tooling with git support.
- Ensure you can ssh into svn2gittest.archlinux.org - The box has been deployed with our archusers ansible role and should contain the same users as orion
- Navigate the package-tests project; https://gitlab.archlinux.org/packages-test
- Create a repository in either packages or community. - You can use any package you want. Any consistency checks in the WIP repository has been removed and shouldn't interfer with any packages you push.
- Work with the package as normal.
- When you commit the changes use: `git-extrapkg` for packages under `packages-test/packages` `git-communitypkg` for packages under `packages-test/community`
- When you have uploaded the package: ssh svn2gittest.archlinux.org "/packages/db-update"
Note: The dbscripts tooling has been consolidated. There is not need for `/community/db-update`
If there are any bugs, please poke me in #archlinux-projects
The technical overview is currently being worked on in on in the archwiki: https://wiki.archlinux.org/index.php/User:Foxboron/GitMigration