2020-10-15 10:30:30 +00:00
|
|
|
#!/bin/sh -e
|
|
|
|
|
|
|
|
if [ $# -lt 1 ]; then
|
|
|
|
echo "What?"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
repo="https://svn.apache.org/repos/asf/httpd/httpd/trunk"
|
|
|
|
#repo="https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x"
|
2021-06-25 07:35:11 +00:00
|
|
|
ver=2.4.48
|
2020-10-15 10:30:30 +00:00
|
|
|
prefix="httpd-${ver}"
|
|
|
|
suffix="${SUFFIX:-r$1${2:++}}"
|
|
|
|
fn="${prefix}-${suffix}.patch"
|
|
|
|
vcurl="http://svn.apache.org/viewvc?view=revision&revision="
|
|
|
|
|
|
|
|
if test -f ${fn}; then
|
|
|
|
mv -v -f ${fn} ${fn}\~
|
|
|
|
echo "# $0 $*" > ${fn}
|
|
|
|
sed '1{/#.*pullrev/d;};/^--- /,$d' < ${fn}\~ >> ${fn}
|
|
|
|
else
|
|
|
|
echo "# $0 $*" > ${fn}
|
|
|
|
fi
|
|
|
|
|
|
|
|
new=0
|
|
|
|
for r in $*; do
|
|
|
|
case $r in
|
|
|
|
http*) url=$r ;;
|
|
|
|
*) url=${vcurl}${r} ;;
|
|
|
|
esac
|
|
|
|
if ! grep -q "^${url}" ${fn}; then
|
|
|
|
echo "${url}"
|
|
|
|
new=1
|
|
|
|
fi
|
|
|
|
done >> ${fn}
|
|
|
|
|
|
|
|
[ $new -eq 0 ] || echo >> ${fn}
|
|
|
|
|
|
|
|
prev=/dev/null
|
|
|
|
for r in $*; do
|
|
|
|
echo "+ fetching ${r}"
|
|
|
|
this=`mktemp /tmp/pullrevXXXXXX`
|
|
|
|
case $r in
|
|
|
|
http*) curl -s "$r" | filterdiff --strip=3 ;;
|
|
|
|
*) svn diff -c ${r} ${repo} ;;
|
|
|
|
esac | filterdiff --remove-timestamps --clean \
|
|
|
|
-x 'CHANGES' -x '*/next-number' -x 'STATUS' -x '*.xml' \
|
|
|
|
--addprefix="${prefix}/" > ${this}
|
|
|
|
next=`mktemp /tmp/pullrevXXXXXX`
|
|
|
|
if ! combinediff -w ${prev} ${this} > ${next}; then
|
|
|
|
echo "Failed combining previous ${prev} with ${this}";
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
rm -f "${this}"
|
|
|
|
[ "${prev}" = "/dev/null" ] || rm -f "${prev}"
|
|
|
|
prev=${next}
|
|
|
|
done
|
|
|
|
|
|
|
|
cat ${prev} >> ${fn}
|
|
|
|
|
|
|
|
vi "${fn}"
|
|
|
|
echo "+ git add ${fn}"
|
|
|
|
git add "${fn}"
|
|
|
|
echo "+ spec template:"
|
|
|
|
echo "PatchN: ${fn}"
|
|
|
|
echo "%patchN -p1 -b .${suffix}"
|