Author: adamg                        Date: Fri Mar 21 15:10:22 2008 GMT
Module: SPECS                         Tag: HEAD
---- Log message:
- pass -B to `cvs tag' when a given tag already exists and happens to be
  a branch (common case with ac-tag); 
  tested with cvs-1.11.21-5 (Ac) and cvs-1.12.13-7 (Th),
  still does not work with cvs-nserver-client

---- Files affected:
SPECS:
   builder (1.540 -> 1.541) 

---- Diffs:

================================================================
Index: SPECS/builder
diff -u SPECS/builder:1.540 SPECS/builder:1.541
--- SPECS/builder:1.540 Thu Mar  6 22:45:35 2008
+++ SPECS/builder       Fri Mar 21 16:10:17 2008
@@ -1164,6 +1164,26 @@
        echo -n "$TAGVER"
 }
 
+# bool is_tag_a_branch(tag)
+#
+# returns 1 if a tag is a branch set on SPECFILE
+is_tag_a_branch() {
+       if [ -n "$DEBUG" ]; then
+               set -x
+               set -v
+       fi
+
+       if [ $# -ne 1 ]; then
+               return 0;
+       fi
+
+       TAG=$1
+       
+       cd "$SPEC_DIR"
+       cvs status -v $SPECFILE | grep -Eiq "${TAG}.+(branch: [0-9.]+)"
+       return $?
+}
+
 tag_files()
 {
        TAG_FILES="$@"
@@ -1190,6 +1210,18 @@
                OPTIONS="-d $CVSROOT $OPTIONS"
        fi
 
+       # if a tagname we are about to set already exists
+       # and happens to be a branch (common case with AC-branch)
+       # pass -B (allows -F to disturb branch tag)
+       local _tag=$TAG
+       if [ "$TAG_VERSION" = "yes" ]; then
+               _tag=$TAGVER
+       fi;
+       is_tag_a_branch $_tag
+       if [ $? -eq 0 ]; then
+               OPTIONS="$OPTIONS -B"
+       fi;
+
        cd "$SOURCE_DIR"
        local tag_files
        for i in $TAG_FILES; do
================================================================

---- CVS-web:
    
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SPECS/builder?r1=1.540&r2=1.541&f=u

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to