diff options
Diffstat (limited to 'examples/gbp-pq')
-rwxr-xr-x | examples/gbp-pq | 139 |
1 files changed, 0 insertions, 139 deletions
diff --git a/examples/gbp-pq b/examples/gbp-pq deleted file mode 100755 index 96b1fe6..0000000 --- a/examples/gbp-pq +++ /dev/null @@ -1,139 +0,0 @@ -#!/bin/sh -# -# Convert a patch-queue branch into a patch series in debian/patches and vice -# versa. -# -# assumes you have your quilt patch queue for $branch on patch-queue/$branch -# -# See: https://honk.sigxcpu.org/piki/development/debian_packages_in_git/ - -is_patch_queue() -{ - local branch=$1 - - if expr $branch : patch-queue/ >/dev/null; then - return 0 - else - return 1 - fi -} - -pq_export() -{ - local branch=$1 - local pq="patch-queue/$branch" - - if is_patch_queue $branch; then - echo "On a patch-queue branch, can't redo patches." - return 1 - fi - - rm -f debian/patches/* - PATCHES=`git format-patch -N -o debian/patches $branch...$pq` - if [ -n "$PATCHES" ]; then - echo "Regenerationg patch queue in \"debian/patches\"." - > debian/patches/series - for PATCH in $PATCHES; do - # delete the first line (from sha1) and last two lines (git version - # info) of the patch file - sed -i -e '1d' -e 'N;$!P;$!D;$d' $PATCH - sed -i -e 's/^-- \n[0-9\.]+$//' $PATCH - echo $PATCH | sed -e 's%debian/patches/%%' >> debian/patches/series - done - git status -- debian/patches - else - echo "No patches on \"$pq\"." - fi -} - -pq_rebase() -{ - local branch=$1 - local pq="patch-queue/$branch" - - if ! is_patch_queue $branch; then - echo "Switching to \"$pq\"" - git checkout $pq - else - echo "Already on \"$branch\"" - fi - git rebase $branch -} - -pq_import() -{ - local branch=$1 - local pq="patch-queue/$branch" - local patches=debian/patches/ - - if is_patch_queue $branch; then - echo "Already on a patch-queue branch \"$branch\" - doing nothing." - return 1 - fi - - if ! git checkout -b $pq; then - echo "Cannot create patch-queue branch \"$pq\"." - return 1 - fi - - if [ ! -r ${patches}series ]; then - echo "Found no series file at \"$patches\". Patch-queue branch will be empty." - return 0 - fi - - QUILT_PATCHES=$patches git quiltimport -} - -pq_drop() -{ - local branch=$1 - local pq="patch-queue/$branch" - - if is_patch_queue $branch; then - echo "On a patch-queue branch, can't drop it." - return 1 - else - git branch -D ${pq} - echo "Dropped ${pq}." - fi -} - -usage () -{ - cat <<EOF -$0 [ACTION] - -Options: - export Export the associated patch-queue branch into - debian/patches and update the series file. - - import Create a patch-queue branch from debian/patches. - - rebase Switch to associated patch-queue branch and rebase - against current branch. - - drop Drop (delete) the corresponding patch-queue branch -EOF -} - -branch=$(git branch --no-color | awk '/^\*/ { print $2 }') - -case "$1" in - export) - pq_export $branch - ;; - import) - pq_import $branch - ;; - rebase) - pq_rebase $branch - ;; - drop) - pq_drop $branch - ;; - *) - usage - exit 1 - ;; -esac - |