[aur-general] My AUR4 migration workflow
Hi, I just migrated my packages to AUR4 and thought I'd share some notes I did during the process. After a quick try I didn't use any script as I wanted to see what's going on and do some manual corrections. This is too terse for the wiki I think, but maybe it helps someone. The starting point was one repo with subfolders for the packages. Contrary to some scripts, I actually split the repo into different *repos* before uploading, so I could rebase and correct issues. Get the old repo: $ cd ~/aur4 $ git clone ... old-repo $ cd old-repo Get a list of packages (which can be edited by hand if there are non-package folders): $ for pkg in */; do p=${pkg%/}; echo "$p"; done > ../pkgs Split out packages to an aur4/pkgname ref: $ while read p; do git subtree split --prefix="$p" -b "aur4/$p"; done < ../pkgs Clone each package into a new repo: $ cd ~/aur4 $ mkdir new-repos $ cd new-repos $ while read p; do git clone --branch="aur4/$p" ../old-repo "$p"; done < ../pkgs Set the master branch correctly and clean up leftovers: $ while read p; do (cd "$p"; git checkout master; git reset --hard "aur4/$p"; git branch -D "aur4/$p"; git remote rm origin; git gc --prune=0); done < ../pkgs Generate .SRCINFO for all packages: $ while read p; do git -C "$p" filter-branch -f --tree-filter "test -f .SRCINFO || mksrcinfo"; done < ../pkgs Setup all repos: $ while read p; do ssh aur@aur4.archlinux.org setup-repo "$p"; done < ../pkgs Add the origin remote and set upstream branch: $ while read p; do git -C "$p" remote add origin "ssh+git://aur@aur4.archlinux.org/$p.git"; git -C "$p" branch --set-upstream origin; done < ../pkgs After that, I changed into each repo, reviewed the history, did git rebase -i --root as necessary and pushed via git push. Florian -- http://www.the-compiler.org | me@the-compiler.org (Mail/XMPP) GPG: 916E B0C8 FD55 A072 | http://the-compiler.org/pubkey.asc I love long mails! | http://email.is-not-s.ms/
participants (1)
-
Florian Bruhin