#!/bin/sh

# $Id$

# kbcvs is a script that takes as its input the names of files that
# should be -kb.  Typically, this list of files is generated by $PTII/adm/cvs2svn/cvsTosvn:

# --start--
# Checking for binary files that are not -kb
# /home/cxh/src/ptII10.0.devel/adm/cvs2svn/tmp.cvs/ptweb/./conferences/01/image/boeing.gif is not -kb?Y
# --end---

# The cvsTosvn script created a fixme.kb.files file

# fixme.kb.files might have spaces in the file names.
#awk '{print $1}' |

awk -F / ' NF > 1  {
     if (last == "") {
         last = $1
     }
     if ($1 != last) {
         print "(cd " last "; cvs commit -m \"Added -kb\"; cvs update)"
         last = $1

     }
     if (NF > 2) {
         filenames = filenames " " $2 "/"
         for(i=3;i<NF;i++) {
             filenames=filenames $i "/"
         }
     }
     filenames = filenames $NF
     if (length(filenames) > 0 && filenames !~ /fixme.kb.files/ ) {
         if ( filenames ~/^.\// || filenames ~ /^ /) {
             filenames = substr(filenames, 2, length(filenames) - 1);
         }
         print "(cd " last "; cvs admin -kb \"" filenames  "\")"
     }
     filenames=""    

 }
END {
     if (length(filenames) > 0 && filenames !~ /fixme.kb.files/ ) {
         if ( filenames ~/^.\//) {
             filenames = substr(filenames, 2, length(filenames) - 1);
         }
         print "(cd " last "; cvs admin -kb \"" filenames  "\")"
     }
     print "(cd " last "; cvs commit -m \"Added -kb\"; cvs update)"
}
'
