info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Triggers


From: Pascal Bourguignon
Subject: Triggers
Date: Sun, 10 Jun 2001 00:52:06 +0200 (CEST)

Here is what I've found, how the triggers function with:
server: Concurrent Versions System (CVS) 1.11.1p1 (server) 
client: Concurrent Versions System (CVS) 1.11 (client/server)


Triggers
========

    
    The triggers are specified in the CVSROOT/modules file.
    http://cvshome.org/docs/manual/cvs_18.html#SEC160


    The following data has only been checked with an :ext: method.

    All these triggers  are run on the server side.



    Export trigger   -e ${EPROG}
    ----------------------------

        The command:                cvs export -r ${TAG} ${MODULE} 

        once the module has been exported to the local working directory,

        triggers the execution of:  cd ${TMPCVS}
                                    ${EPROG} ${MODULE}

        ${TMPCVS} will contain:     ${TMPCVS}/CVS/*            (top-level CVS)
                                    ${TMPCVS}/${MODULE}/       (empty)


        BUG: There's  no way for  the ${EPROG} to know  what revision
             (${TAG}) has been exported !!!
              
             I would suggest to add  the ${TAG} to the argument passed
             to ${EPROG}:           ${EPROG} ${MODULE} ${TAG}
                 


    Checkout trigger -o ${OPROG}
    ----------------------------

        The command:                cvs export -r ${TAG} ${MODULE} 

        once the module has been checked out to the local working directory,

        triggers the execution of:  cd ${TMPCVS}
                                    ${OPROG} ${MODULE}

        ${TMPCVS} will contain:     ${TMPCVS}/CVS/*            (top-level CVS)
                                    ${TMPCVS}/${MODULE}/CVS/*  (module CVS)
                                            


    Update trigger   -u ${UPROG}
    ----------------------------

        The command:                cvs update ${MODULE} 

        once the module has been updated in the local working directory,

        triggers the execution of:  cd ${TMPCVS}
                                    ${UPROG} ${MODULE}

        ${TMPCVS} will contain:     ${TMPCVS}/CVS/*           (module CVS)
                                    ${TMPCVS}/*

        ${TMPCVS} contains  for each file  that has changed a  copy of
        the  version  in  the   local  working  directory  before  the
        update. However, if there  are conflicts, then it contains the
        file  AFTER  the update  (with  the  <<<<|>>>> conflicts),  in
        addition   to   the  previous   version   in   a  file   named
        ".#${NAME}.${VERSION}".  If no file has changed, it's empty.


    Commit trigger   -i ${IPROG}
    ----------------------------

        The command:                cvs commit ${MODULE} 

        once the module has been commited,

        triggers the execution of:  cd ${TMPCVS}
                                    ${IPROG} ${MODULE}

        ${TMPCVS} will contain:     ${TMPCVS}/CVS/*           (module CVS)
                                    ${TMPCVS}/*

        ${TMPCVS} contains  for each file  that has changed a  copy of
        the previous version in  the repository before the commit.  If
        no file has changed, it's empty.



    Rtag trigger     -t ${RPROG}
    ----------------------------

        The command:                cvs rtag ${TAG} ${MODULE} 

        once the module has been commited,

        triggers the execution of:  cd ${TMPCVS}
                                    ${RPROG} ${MODULE}  ${TAG}

        ${TMPCVS} will be empty.






-- 
__Pascal_Bourguignon__              (o_ Software patents are endangering
()  ASCII ribbon against html email //\ the computer industry all around
/\  and Microsoft attachments.      V_/ the world http://lpf.ai.mit.edu/
1962:DO20I=1.100  2001:my($f)=`fortune`;  http://petition.eurolinux.org/

-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/IT d? s++:++(+++)>++ a C+++  UB+++L++++$S+X++++>$ P- L+++ E++ W++
N++ o-- K- w------ O- M++$ V PS+E++ Y++ PGP++ t+ 5? X+ R !tv b++(+)
DI+++ D++ G++ e+++ h+(++) r? y---? UF++++
------END GEEK CODE BLOCK------



reply via email to

[Prev in Thread] Current Thread [Next in Thread]