Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
| 3 | case $1 in |
| 4 | v*-dts) ;; |
| 5 | '') |
| 6 | echo >&2 "No version given" |
| 7 | exit 1 |
| 8 | ;; |
| 9 | *) |
| 10 | echo >&2 "Unexpected version: $1" |
| 11 | exit 1 |
| 12 | ;; |
| 13 | esac |
| 14 | |
| 15 | v=$1 |
| 16 | |
| 17 | set -e |
| 18 | |
| 19 | # Use the date of Linus' originally tagged commit for the merge. This might |
| 20 | # differ from what the commit that the rewritten tag points to, since the |
| 21 | # orignal commit may have been discarded. |
| 22 | export GIT_AUTHOR_DATE=$(git log -1 --format=%ad "${v%-dts}") |
| 23 | if [ ! "${GIT_AUTHOR_DATE}" ] ; then |
| 24 | echo >&2 "Unable to determine commit date for merge" |
| 25 | exit 1 |
| 26 | fi |
| 27 | if [ "${v}" = "v2.6.12-rc2-dts" ] ; then |
| 28 | auh="--allow-unrelated-histories" |
| 29 | fi |
| 30 | git merge $auh --no-edit "${v}-raw" |
| 31 | git clean -fdqx |
| 32 | # Use the date of Linus' original tag for the tag. |
| 33 | case "${v%-dts}" in |
| 34 | v2.6.12*|v2.6.13-rc[123]) |
| 35 | # Commits from v2.6.12-rc2..v2.6.13-rc3 lacked the date. So use the commit's |
| 36 | # date. |
| 37 | export GIT_COMMITTER_DATE="${GIT_AUTHOR_DATE}" |
| 38 | ;; |
| 39 | *) |
| 40 | export GIT_COMMITTER_DATE="$(git for-each-ref --format='%(taggerdate)' "refs/tags/${v%-dts}")" |
| 41 | ;; |
| 42 | esac |
| 43 | if [ ! "${GIT_COMMITTER_DATE}" ] ; then |
| 44 | echo >&2 "Unable to determine date for tag" |
| 45 | exit 1 |
| 46 | fi |
| 47 | git tag -s -m "Tagging ${v}" -u 695A46C6 "${v}" |
| 48 | make -k -j12 -s |