[aur-general] My AUR4 migration workflow
Florian Bruhin
me at the-compiler.org
Wed Jun 10 21:11:59 UTC 2015
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 at 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 at 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/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <https://lists.archlinux.org/pipermail/aur-general/attachments/20150610/5245a88a/attachment.asc>
More information about the aur-general
mailing list