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 [email protected] 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://[email protected]/$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 | [email protected] (Mail/XMPP)
GPG: 916E B0C8 FD55 A072 | http://the-compiler.org/pubkey.asc
I love long mails! | http://email.is-not-s.ms/
pgpSuhvWPBFvj.pgp
Description: PGP signature
