From a9680de1b0b37d8ceba6ab90864681d0bf4d7fb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Reynolds?= Date: Wed, 11 Apr 2012 18:16:02 -0300 Subject: Git-PBS forks packages from Arch svntogit/packages.git It creates a single package git repo and tracks upstream changes. It's intended to fork upstream PKGBUILDs into their -libre versions. **STILL UNDER TEST** --- git-pbs | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100755 git-pbs diff --git a/git-pbs b/git-pbs new file mode 100755 index 0000000..b815863 --- /dev/null +++ b/git-pbs @@ -0,0 +1,44 @@ +#!/bin/bash + +_pkg=$1 + +mkdir -p $_pkg +pushd $_pkg + + +if [ ! -d .git ]; then +# Start a git repo for the package +# Add the remote origin +# Pull the package branch onto an unmodified branch + git init + git remote add arch git://projects.archlinux.org/svntogit/packages.git + +# Export the repository + touch .git/git-daemon-export-ok + +# Pass the -b flag to checkout to create the branches + extra="-b" +fi + +git checkout ${extra} upstream +git pull arch packages/$_pkg + +# Move PKGBUILD and files to the basedir +# Remove everything else from the repo +git checkout ${extra} master + +# This produces a lot of merging conflicts +git merge upstream + +# This apparently solves them +git mv trunk/* . +git rm -rf repos + +# Remove the actual files +rm -rf trunk repos + +# Commit everything +git commit -a -m "Converted to PBS" + +# Return to the repo +popd >/dev/null -- cgit v1.2.3