[Top][All Lists]
[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------
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Triggers,
Pascal Bourguignon <=