aboutsummaryrefslogtreecommitdiff
path: root/maintainer-scripts/gcc_release
diff options
context:
space:
mode:
Diffstat (limited to 'maintainer-scripts/gcc_release')
-rwxr-xr-xmaintainer-scripts/gcc_release15
1 files changed, 11 insertions, 4 deletions
diff --git a/maintainer-scripts/gcc_release b/maintainer-scripts/gcc_release
index 0c60cdb512d..6458ce1b24e 100755
--- a/maintainer-scripts/gcc_release
+++ b/maintainer-scripts/gcc_release
@@ -170,12 +170,19 @@ EOF
EXPORTDATE=""
if [ -n "${TAG}" ]; then
inform "Tagging sources as ${TAG}"
- # The -F option to CVS is intentionally not used below. If you
- # need to retry a release, you will have to manually remove any
- # existing tag.
+ EXPORTTAG="-r${TAG}"
+ # Try to check out a file using ${TAG}. If the command succeeds,
+ # then the sources have already been tagged. We don't want to
+ # overwrite an existing tag, so we don't want to use the "-F"
+ # option to "cvs rtag" below. So, if the tag already exists,
+ # issue an error message; the release manager can manually remove
+ # the tag if appropriate.
+ if ${CVS} export -d "`basename ${SOURCE_DIRECTORY}`" \
+ "${EXPORTTAG}" gcc/ChangeLog; then
+ error "Tag ${TAG} already exists"
+ fi
${CVS} rtag -r ${CVSBRANCH} ${TAG} gcc || \
error "Could not tag sources"
- EXPORTTAG="-r${TAG}"
else
if [ ${CVSBRANCH} != "HEAD" ]; then
EXPORTTAG="-r${CVSBRANCH}"