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 a...@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://a...@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 | m...@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/

Attachment: pgpSuhvWPBFvj.pgp
Description: PGP signature

Reply via email to