From 0d8e0f0e8b46df001f61cffc4dceddc9e5964e36 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Sat, 10 Apr 2010 12:34:07 +0200 Subject: scripts: add script to publish patches This script creates the patches for an existing version. diff --git a/scripts/mk-patch.sh b/scripts/mk-patch.sh new file mode 100755 index 0000000..2cd4529 --- /dev/null +++ b/scripts/mk-patch.sh @@ -0,0 +1,44 @@ +#!/bin/sh + +repos="$1" +pdir="$2" +if [ -z "${repos}" -o ! -d "${repos}" -o -z "${pdir}" -o ! -d "${pdir}" ];then + printf "Usage: ${0##*/} \n" + exit 1 +fi + +pdir="$( cd "${pdir}"; pwd)" +version="$( echo "${pdir}" |sed -r -e 's,.*/([^/]+)/*$,\1,' )" +branch="${version%.*}" +n=$( ls -1 "${pdir}" 2>/dev/null |wc -l ) + +r1="$( hg -R "${repos}" log -b "${branch}" \ + |awk ' + $1=="changeset:" { + prev=rev; + split($2,a,":"); + rev=a[1]; + } + $0~/^summary:[[:space:]]+'"${branch}: (bump|update) version to ${version}\+hg"'$/ { + printf( "%d\n", prev ); + } + ' + )" + +i=0 +hg -R "${repos}" log -b "${branch}" -r "${r1}:tip" --template '{rev}\n' \ +|while read rev; do + p="$( printf "%03d" ${i} )" + i=$((i+1)) + if [ $( ls -1 "${pdir}/${p}-"*.patch 2>/dev/null |wc -l ) -ne 0 ]; then + continue + fi + plog=$( hg -R "${repos}" log -r ${rev} --template '{desc|firstline}\n' \ + |sed -r -e 's,[/ :]+,_,g;' \ + ) + pname="${p}-${plog}.patch" + printf "Revision '%d' --> '%s'\n" ${rev} "${pname}" + hg -R "${repos}" diff -c ${rev} --color=never >"${pdir}/${pname}" + pdate="$( hg -R "${repos}" log -r ${rev} --template '{date|isodate}\n' )" + touch -d "${pdate}" "${pdir}/${pname}" +done -- cgit v0.10.2-6-g49f6