mirror of https://github.com/F-Stack/f-stack.git
49 lines
1.2 KiB
Bash
49 lines
1.2 KiB
Bash
#!/bin/bash
|
|
|
|
case $1 in
|
|
v*-dts) ;;
|
|
'')
|
|
echo >&2 "No version given"
|
|
exit 1
|
|
;;
|
|
*)
|
|
echo >&2 "Unexpected version: $1"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
v=$1
|
|
|
|
set -e
|
|
|
|
# Use the date of Linus' originally tagged commit for the merge. This might
|
|
# differ from what the commit that the rewritten tag points to, since the
|
|
# orignal commit may have been discarded.
|
|
export GIT_AUTHOR_DATE=$(git log -1 --format=%ad "${v%-dts}")
|
|
if [ ! "${GIT_AUTHOR_DATE}" ] ; then
|
|
echo >&2 "Unable to determine commit date for merge"
|
|
exit 1
|
|
fi
|
|
if [ "${v}" = "v2.6.12-rc2-dts" ] ; then
|
|
auh="--allow-unrelated-histories"
|
|
fi
|
|
git merge $auh --no-edit "${v}-raw"
|
|
git clean -fdqx
|
|
# Use the date of Linus' original tag for the tag.
|
|
case "${v%-dts}" in
|
|
v2.6.12*|v2.6.13-rc[123])
|
|
# Commits from v2.6.12-rc2..v2.6.13-rc3 lacked the date. So use the commit's
|
|
# date.
|
|
export GIT_COMMITTER_DATE="${GIT_AUTHOR_DATE}"
|
|
;;
|
|
*)
|
|
export GIT_COMMITTER_DATE="$(git for-each-ref --format='%(taggerdate)' "refs/tags/${v%-dts}")"
|
|
;;
|
|
esac
|
|
if [ ! "${GIT_COMMITTER_DATE}" ] ; then
|
|
echo >&2 "Unable to determine date for tag"
|
|
exit 1
|
|
fi
|
|
git tag -s -m "Tagging ${v}" -u 695A46C6 "${v}"
|
|
make -k -j12 -s
|