1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
#!/bin/sh
if [ -n "$1" ]; then
tag=$(git describe --tags $1)
else
tag=$(git describe --tags $(git rev-list --tags='v[0-9]*' --max-count=1))
fi
ver=$(echo $tag|sed s/^v//)
dstag=upstream/${ver}+ds
if git diff-index --quiet HEAD --; then
echo Pristine source for $ver
else
echo Working directory not clean. exiting.
exit 1
fi
git rm -qrf debian/
git commit -m "Pristine source of ${ver}+ds"
if git rev-parse -q --verify "refs/tags/${dstag}" >/dev/null; then
i=0
while git rev-parse -q --verify "refs/tags/${dstag}_prev${i}" >/dev/null; do
i=$(($i+1))
done
git tag ${dstag}_prev${i} $dstag
git tag -d $dstag
fi
git tag ${dstag}
git reset --hard HEAD^
|