haproxy: Add a script for package maintainers to simplify upstream patch collection
authorChristian Lachner <gladiac@gmail.com>
Sun, 29 Apr 2018 08:00:22 +0000 (10:00 +0200)
committerChristian Lachner <gladiac@gmail.com>
Sun, 29 Apr 2018 08:00:22 +0000 (10:00 +0200)
Manually fetching patches is cumbersome so I created a simple bash-script which uses Git-mechanisms to collect all patches inside a branch from a specific TAG to the current HEAD revision.

Signed-off-by: Christian Lachner <gladiac@gmail.com>
net/haproxy/get-latest-patches.sh [new file with mode: 0755]

diff --git a/net/haproxy/get-latest-patches.sh b/net/haproxy/get-latest-patches.sh
new file mode 100755 (executable)
index 0000000..b74107f
--- /dev/null
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+CLONEURL=http://git.haproxy.org/git/haproxy-1.8.git
+BASE_TAG=v1.8.8
+TMP_REPODIR=tmprepo
+PATCHESDIR=patches
+
+if test -d "${TMP_REPODIR}"; then rm -rf "${TMP_REPODIR}"; fi
+
+git clone "${CLONEURL}" "${TMP_REPODIR}"
+
+printf "Cleaning patches\n"
+find ${PATCHESDIR} -type f -name "*.patch" -exec rm -f "{}" \;
+
+i=0
+for cid in $(git -C "${TMP_REPODIR}" rev-list ${BASE_TAG}..HEAD | tac); do
+       filename="$(printf "%04d" $i)-$(git -C "${TMP_REPODIR}" log --format=%s -n 1 $cid | sed -e"s/[()']//g" -e's/[^_a-zA-Z0-9+-]\+/-/g' -e's/-$//').patch"
+       printf "Creating ${filename}\n"
+       git -C "${TMP_REPODIR}" show $cid > "${PATCHESDIR}/$filename"
+       git add "${PATCHESDIR}/$filename"
+       let i++
+done
+
+rm -rf "${TMP_REPODIR}"
+
+printf "finished\n"
+