Re: Notify on Checkout
Marie, Yes - the documentation is here: http://www.cvsnt.org/manual/Watches.html CVSNT is an open source replacement for CVS. CVSNT is the default CVS client for WinCVS and TortoseCVS and runs on Windows, Linux, Unix, Mac and more... You can download CVSNT from here: http://www.cvsnt.com Regards, Arthur Barrett Marie Ricketts [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] Hi, Is there a way to send an email when an item is checked out? Thanks! ___ Info-cvs mailing list [EMAIL PROTECTED] http://lists.gnu.org/mailman/listinfo/info-cvs
RE: Notify, loginfo, etc.
You can trap the complete log output by calling a script at every commit on a particular module. I have the following line in my loginfo file. The script put the STDIN to the email by calling the cat command without parameter and in forward quote `` My logingo file below: ^modulename /home/CVS/commitmail modulename [EMAIL PROTECTED] and my /home/CVS/commitmail script look like this echo echo An email has been sent to ${2} about this COMMIT. echo mail -s ${CVSROOT} - ${1} ${2} ! The following file has been modified by ${CVS_USER} on `date` === `cat` ! This will generate the the following email below: The following file has been modified by mtessier on Mon Jan 20 15:40:30 EST 2003 === Update of /home/CVS/prod/cityfone/releases In directory fileguardian.ca.intasys.com:/tmp/cvs-serv24478/releases Added Files: 296_post_installation.sql 296_pre_installation.sql 303_post_installation.sql 303_pre_installation.sql 304_post_installation.sql 304_pre_installation.sql CF_ER1_9_3.sql Log Message: New script files -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Yarbrough, Jay Sent: Wednesday, February 05, 2003 10:44 AM To: [EMAIL PROTECTED] Subject: Notify, loginfo, etc. I would like the notify script to send not only the name of the file which has been committed, but also the comment entered by the developer who committed the change. Can anyone provide a bit of assistance? Thanks, J - This email and any attachments are confidential and may be legally privileged. No confidentiality or privilege is waived or lost by any transmission in error. If you are not the intended recipient you are hereby notified that any use, printing, copying or disclosure is strictly prohibited. Please delete this email and any attachments, without printing, copying, forwarding or saving them and notify the sender immediately by reply e-mail. The company reserves the right to monitor all e-mail communications through its networks. Unless otherwise stated, any financial results or price data contained in this email are indicative only and are subject to change without notice. ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Notify, loginfo, etc.
Yarbrough, Jay wrote: I would like the notify script to send not only the name of the file which has been committed, but also the comment entered by the developer who committed the change. Use CVSROOT/loginfo to process logs from a commit. -Matt ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
RE: Notify, loginfo, etc.
Hello, I use my own script with this entry in loginfo: DEFAULT $CVSROOT/CVSROOT/logit4me \'%{sVv}\' $CVSROOT/CVSROOT/commitlog ${USER} user@email The script is attached. You can trap the complete log output by calling a script at every commit on a particular module. I have the following line in my loginfo file. The script put the STDIN to the email by calling the cat command without parameter and in forward quote `` -Original Message- From: Yarbrough, Jay I would like the notify script to send not only the name of the file which has been committed, but also the comment entered by the developer who committed the change. logit4me Description: Binary data ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: notify
Monica Li writes: I couldn't change the file notify. Notify is under repository/CVSROOT directory. it also has .v. it means I need checkout before make any changes. right? But it's not under any module. Yes it is, it's under CVSROOT. You can check out CVSROOT or just CVSROOT/notify. -Larry Jones I think we need to change the rules. -- Calvin ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
RE: notify
You need to create a workspace where you check out CVSROOT, there you can edit the administration file and check it back in. mkdir work; cd work cvs co CVSROOT When you check it in, cvs will rebuild it's administration database to activate you change on the server. Teala -Original Message- From: Monica Li [mailto:[EMAIL PROTECTED]] Sent: Friday, January 31, 2003 4:05 PM To: [EMAIL PROTECTED] Subject: notify Hi, I couldn't change the file notify. Notify is under repository/CVSROOT directory. it also has .v. it means I need checkout before make any changes. right? But it's not under any module. How can I checkout this file, change the file, get rid of the # and make it work? Thanks! Monica ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: notify
On Sat, 2003-02-01 at 11:04, Monica Li wrote: Hi, I couldn't change the file notify. Notify is under repository/CVSROOT directory. it also has .v. it means I need checkout before make any changes. right? But it's not under any module. How can I checkout this file, change the file, get rid of the # and make it work? cvs checkout CVSROOT/notify edit notify cvs commit Because the notify file is one of the CVS special administrative files, CVS will commit to the ,v form, and also create a plain-text form in CVSROOT. Do not edit the plain-text form in CVSROOT, you have CVS installed so you may as well get revision control on the administrative files. (Exception: don't checkout CVSROOT/passwd) All of this is explained in the 'Administrative Files' node of info cvs. Jenn V. -- Do you ever wonder if there's a whole section of geek culture you miss out on by being a geek? - Dancer. My book 'Essential CVS' will be published by O'Reilly in 2003. [EMAIL PROTECTED] http://anthill.echidna.id.au/~jenn/ ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: notify
The entire loginfo file should look like the following: # The loginfo file controls where cvs commit log information # is sent. The first entry on a line is a regular expression which must match # the directory that the change is being made to, relative to the # $CVSROOT. If a match is found, then the remainder of the line is a filter # program that should expect log information on its standard input. # # If the repository name does not match any of the regular expressions in this # file, the DEFAULT line is used, if it is specified. # # If the name ALL appears as a regular expression it is always used # in addition to the first matching regex or DEFAULT. # # You may specify a format string as part of the # filter. The string is composed of a `%' followed # by a single format character, or followed by a set of format # characters surrounded by `{' and `}' as separators. The format # characters are: # # s = file name # V = old version number (pre-checkin) # v = new version number (post-checkin) # # For example: #DEFAULT (echo ; id; echo %s; date; cat) $CVSROOT/CVSROOT/commitlog # or #DEFAULT (echo ; id; echo %{sVv}; date; cat) $CVSROOT/CVSROOT/commitlog ALL (echo ; id; echo %{sVv}; date; cat) | mailx -s Src Modifications [EMAIL PROTECTED] DEFAULT (echo ; id; echo %{sVv}; date; cat) $CVSROOT/CVSROOT/commitlog ~ Hope this helps, ar2kcm -- - Original Message - From: Postek, Jeffery To: 'ar2kcm' Sent: Friday, October 12, 2001 11:20 AM Subject: RE: notify I'm still having problems making this work. Here are the errors I'm recieving; sh: syntax error at line 1: `echo' unexpected cvs commit: syntax error at line 21 file loginfo; ignored sh: syntax error at line 1: `echo' unexpected Check out the loginfo file from your $CVSROOT Add the following information at the end of the file: ALL (echo ; id; echo %{sVv}; date; cat) | mailx -s subject in email [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] DEFAULT (echo ; id; echo %{sVv}; date; cat) $CVSROOT/CVSROOT/commitlog Regards, ar2kcm -- Please tell me how I configure the notify CVS admin file along with any other files to send e-mail to myself or other development personnel in the event of changing and commiting source files. Jeff ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: notify
echo = new line id = prints out user echo %{sVv} = special cvs variable to print out version info ar2kcm - Original Message - From: Postek, Jeffery To: 'ar2kcm' Sent: Friday, October 12, 2001 12:10 PM Subject: RE: notify I can't remember what the %s or %{sVv} string is for. Please explain. -Original Message- From: ar2kcm [mailto:[EMAIL PROTECTED]] Sent: Friday, October 12, 2001 12:07 PM To: Postek, Jeffery Cc: [EMAIL PROTECTED] Subject: Re: notify The entire loginfo file should look like the following: # The loginfo file controls where cvs commit log information # is sent. The first entry on a line is a regular expression which must match # the directory that the change is being made to, relative to the # $CVSROOT. If a match is found, then the remainder of the line is a filter # program that should expect log information on its standard input. # # If the repository name does not match any of the regular expressions in this # file, the DEFAULT line is used, if it is specified. # # If the name ALL appears as a regular expression it is always used # in addition to the first matching regex or DEFAULT. # # You may specify a format string as part of the # filter. The string is composed of a `%' followed # by a single format character, or followed by a set of format # characters surrounded by `{' and `}' as separators. The format # characters are: # # s = file name # V = old version number (pre-checkin) # v = new version number (post-checkin) # # For example: #DEFAULT (echo ; id; echo %s; date; cat) $CVSROOT/CVSROOT/commitlog # or #DEFAULT (echo ; id; echo %{sVv}; date; cat) $CVSROOT/CVSROOT/commitlog ALL (echo ; id; echo %{sVv}; date; cat) | mailx -s Src Modifications [EMAIL PROTECTED] DEFAULT (echo ; id; echo %{sVv}; date; cat) $CVSROOT/CVSROOT/commitlog ~ Hope this helps, ar2kcm -- - Original Message - From: Postek, Jeffery To: 'ar2kcm' Sent: Friday, October 12, 2001 11:20 AM Subject: RE: notify I'm still having problems making this work. Here are the errors I'm recieving; sh: syntax error at line 1: `echo' unexpected cvs commit: syntax error at line 21 file loginfo; ignored sh: syntax error at line 1: `echo' unexpected Check out the loginfo file from your $CVSROOT Add the following information at the end of the file: ALL (echo ; id; echo %{sVv}; date; cat) | mailx -s subject in email [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] DEFAULT (echo ; id; echo %{sVv}; date; cat) $CVSROOT/CVSROOT/commitlog Regards, ar2kcm -- Please tell me how I configure the notify CVS admin file along with any other files to send e-mail to myself or other development personnel in the event of changing and commiting source files. Jeff ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: notify
Check out the loginfo file from your $CVSROOT Add the following information at the end of the file: ALL (echo ; id; echo %{sVv}; date; cat) | mailx -s subject in email [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] DEFAULT (echo ; id; echo %{sVv}; date; cat) $CVSROOT/CVSROOT/commitlog Regards, ar2kcm -- Please tell me how I configure the notify CVS admin file along with any other files to send e-mail to myself or other development personnel in the event of changing and commiting source files. Jeff ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: notify
On Thu Oct 11 2001, 10:31, Postek, Jeffery [EMAIL PROTECTED] wrote: Please tell me how I configure the notify CVS admin file along with any other files to send e-mail to myself or other development personnel in the event of changing and commiting source files. http://www.cvshome.org/docs/manual/cvs_18.html#SEC170 -- Matt http://www.faradic.net/~mmcclure/ I don't believe in rivalries. I don't believe in curses. Wake up the damn Bambino, maybe I'll drill him in the (behind). -Pedro Martinez ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: notify file
I thank everyone who have send me the answers, but I still don't know, how to get to know, what I want to know. Is there a simple way, how to inform the other users about my commit. I'd like the other users to get email, that contain names of the commit files and who who were they commited. To achieve this this I'd prefer 'notify' file, that will run extern mailing program (in my case 'postie.exe', that I found on internet). I'd like use the 'notify' file for every user to choose whether to receive email notification or not (with help Watch add command). If it is possible, please give me advice. Minutely, if you can. I'd be very obliged to you. P.S. I supposed, that I only write one line to 'notify' file to right working on NT server. For examle: ALL postie -to:%s -msg:"Parameters, which I ask you" Is possible it? Tomas ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: notify file
Tomás Velek wrote: I thank everyone who have send me the answers, but I still don't know, how to get to know, what I want to know. Is there a simple way, how to inform the other users about my commit. I'd like the other users to get email, that contain names of the commit files and who who were they commited. To achieve this this I'd prefer 'notify' file, that will run extern mailing program (in my case 'postie.exe', that I found on internet). I'd like use the 'notify' file for every user to choose whether to receive email notification or not (with help Watch add command). If it is possible, please give me advice. Minutely, if you can. I'd be very obliged to you. P.S. I supposed, that I only write one line to 'notify' file to right working on NT server. For examle: ALL postie -to:%s -msg:"Parameters, which I ask you" Is possible it? Tomas If you have a cm account (or even a dummy account that can be controlled by cm if cm does checkins) have that account do a cvs watch add -a commit at the head of your tree and then change your 'notify' file to ALL postie -to:ALL_MY_PROJECT -msg:"Parameters, which I ask you" where ALL_MY_PROJECT is an alias on your mail host to everyone in your group, this will force it out to everyone. My preference though has always been to leave the -to: as -to:%s and request that everyone on the project run cvs watch add -a commit in the directories they may be changing, that way if it is a big project they are not getting hundreds of emails a day for directories that may/do not affect them. ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: notify file
Laird Nelson wrote: How about take a chapter out of the CGI/web book and shove all parameters in url-encoded form on STDIN? Then people can use existing code libraries/snippets to parse this string into name/value pairs. Just like an HTTP POST form submission. Then you don't have to remember which 2037 arguments to add to the script invocation in the *info file, and the script's environment isn't filled up unless the script wants it to be. CGI data comes in on STDIN? Huh. I programmed them for a year or so using the Perl libraries and never realized that. Let's hear it for high-level languages. :) So here's an example (the following would show up on stdin of the commitinfo program, let's say): dir=foofilespec=a%7c1.2%7c1.3%7cOLD_TAGfilespec=b%7c1.1%7c1.2%7cOLD_TAGcvsroot=wherever Running this through a standard URL unescaper (perl -MCGI -e 'print unescape("dir=foofilespec=a%7c1.2%7c1.3%7cOLD_TAGfilespec=b%7c1.1%7c1.2%7cOLD_TAGcvsroot=wherever");') yields: Hmm. Two things: 1) I think XML might still be preferable to CGI. It would provide a more expandable way to encapsulate the data. For example, even though the script was set up to handle a single directory at a time, a change in the CVS source (and perhaps a switch in a config file) could start passing data on multiple directories without changing the DTD and maybe not changing the hung script. 2) CGI or XML, it's also going to drastically increase the cost of entry of creating a new script to hang as I'm not familiar with any CGI or XML libraries written in/for Bourne shells. I _do_think there is a simple solution to this, which is to write a simple sourcable one ourselves and install it into $CVSROOT/CVSROOT. Then a minimal Bourne shell script that wanted to use any data passed by CVS would look something like (I'm using callbacks since I think it's more expandable): #!/bin/sh # an example commitinfo script . some_access_functions do_file() { if user_has_access checkin $repository $directory $file; then : else exit 1 fi } . $CVSROOT/CVSROOT/get_data_and_run I suppose get_data_and_run wouldn't have to use callback hooks, but I like that model better. Derek -- Derek Price CVS Solutions Architect ( http://CVSHome.org ) mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com ) -- One woman has hurt you and you'll take it out on the rest of the world? You're a coward and a weakling! - Ingrid Bergman as Elsa, _Casablanca_ ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: notify file
"Derek R. Price" wrote: Laird Nelson wrote: How about take a chapter out of the CGI/web book and shove all parameters in url-encoded form on STDIN? Then people can use existing CGI data comes in on STDIN? Huh. I programmed them for a year or so using the Perl libraries and never realized that. Let's hear it for high-level languages. :) BTW, for those with backwards compatibility concrens, there's an easy upgrade path - to use the new data transfer methods new hook files would be set up. Say, *info2 rather than *info. Then if the *info2 had a match for the directory, CVS could ignore the *info file. In five years or so the *info code could probably even be disabled. :) Derek -- Derek Price CVS Solutions Architect ( http://CVSHome.org ) mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com ) -- I predict future happiness for Americans if they can prevent the government from wasting the labors of the people under the pretense of taking care of them. - Thomas Jefferson ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: notify file
Tomas Velek wrote: Hello, I want to inform other about commit. To do it I use the "notify" file and the external file, which send the informative mail to people in "users" file. After commit all people receive the mail, it is right. But this mail must contains the names of commited files and I can not reach it. In "loginfo" file is possible to use %{sVv} parameter, but it does not work in "notify" file. I need to solve it very necessarily, please help I'm using WinNT server, clients Win9x with WinCVS 1.1b16 I've seen a few requests lately for this kind of thing so I thought I would send out a reminder that there's a patch against 1.11 (NOT the NT version) which provides some hooks to pass new information through the *info files at http://alumni.engin.umich.edu/~oberon/ccvs.newfmtstrings.1-11.diff . Theres the same code plus a new *info hook for filtering an rcsinfo template _before_ the user sees it in an editor at http://alumni.engin.umich.edu/~oberon/ccvs.tmpltfilterinfo.final.diff , but it's incomplete. The filter is currently running on the client and should be running on the server. There have been a few discussions lately about this kind of thing as well, including one that suggested always providing all available information for a hook in environment variables, similar to CGI, but I'm not sure now that this patch isn't a better solution since it should be harder to accidentally fill up a child's environment memory since an administrator could pare the args going to a script when they _didn't_ want all the data. Of course, maybe some sort of pipe to squirt all the data through as XML would be even better than that but I'm not sure I understand all the issues here. Derek -- Derek Price CVS Solutions Architect ( http://CVSHome.org ) mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com ) -- I will not say "Springfield" just to get applause. I will not say "Springfield" just to get applause. I will not say "Springfield" just to get applause... - Bart Simpson on chalkboard, _The Simpsons_ ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: notify file
"Derek R. Price" wrote: There have been a few discussions lately about this kind of thing as well, including one that suggested always providing all available information for a hook in environment variables, similar to CGI, but I'm not sure now that this patch isn't a better solution since it should be harder to accidentally fill up a child's environment memory since an administrator could pare the args going to a script when they _didn't_ want all the data. Of course, maybe some sort of pipe to squirt all the data through as XML would be even better than that but I'm not sure I understand all the issues here. How about take a chapter out of the CGI/web book and shove all parameters in url-encoded form on STDIN? Then people can use existing code libraries/snippets to parse this string into name/value pairs. Just like an HTTP POST form submission. Then you don't have to remember which 2037 arguments to add to the script invocation in the *info file, and the script's environment isn't filled up unless the script wants it to be. So here's an example (the following would show up on stdin of the commitinfo program, let's say): dir=foofilespec=a%7c1.2%7c1.3%7cOLD_TAGfilespec=b%7c1.1%7c1.2%7cOLD_TAGcvsroot=wherever Running this through a standard URL unescaper (perl -MCGI -e 'print unescape("dir=foofilespec=a%7c1.2%7c1.3%7cOLD_TAGfilespec=b%7c1.1%7c1.2%7cOLD_TAGcvsroot=wherever");') yields: dir=foofilespec=a|1.2|1.3|OLD_TAGfilespec=b|1.1|1.2|OLD_TAGcvsroot=wherever ...and running this through a standard webbish/libwww slicer and dicer program you'd get (the following is my own syntax): dir=foo filespec=a|1.2|1.3|OLD_TAG, b|1.1|1.2|OLD_TAG cvsroot=wherever Or you could make the filespec syntax resemble the Entries file, if you wanted. I've chosen filename|oldversion|newversion|stickytag arbitrarily. Cheers, Laird -- W: [EMAIL PROTECTED] / P: [EMAIL PROTECTED] http://www.amherst.edu/~ljnelson/ Good, cheap, fast: pick two. ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: notify file in sandbox's CVS directory...
CVS/notify is created by "cvs commit" (when unediting), "cvs edit", "cvs release" (when unediting), and "cvs unedit". It's part of the client/server protocol. When using it in conjunction with "cvs add", it works fine under the normal rsh-connect client/server setup. I don't know how it behaves under pserver. Also, I don't know what'll happen in the following: cvs add file cvs edit file cvs rm file cvs ci # assuming other stuff has changed Although I do know that: cvs add file cvs edit file cvs rm file cvs unedit file will give you something like, "nothing known about..." I hope this provides enough to track down the problem. Noel PS One of my TODO's is to allow the editing and unediting of unknown files. Such a patch should fix the above problem(s). [EMAIL PROTECTED] on 2000.05.08 12:32:37 To: [EMAIL PROTECTED] cc: (bcc: Noel L Yap) Subject: notify file in sandbox's CVS directory... I have recently run into a rather odd instance of a notify file causing problems in the CVS directory of a users sandbox... What I would like to know is what might cause the creation of a notify file in a users sandbox and what it's purpose is... The problem started when a user was attempting to add files to the repository, the pserver was reporting a 'nothing known about...' error response. Pertinent version info: Client - jCVS 5.1.1, JRE1.2, win2K 2195, intel Server - Redhat Linux 6.1 (sort of =), cvs 1.10.8, pserver, intel The Notify file in CVSROOT is just comments, but watches are on for the project... The contents of the file are as follows: --- begin paste --- ESection_One.htmThu Apr 13 14:07:23 2000 GMT remote.via.jCVS ./FuncSpec/SectionOne/ --- end paste --- Is this a jCVS client issue, or does the c/s protocol require the creation of such files? Any help would be appreciated as in the future I would like to avoid whatever caused it... =) Scott -- Scott Sutherland National Computer Systems (319) 354-9200Measurement Services Division [EMAIL PROTECTED]Iowa City, Ia import my.standard.disclaimer.*;GO HAWKS!!! This communication is for informational purposes only. It is not intended as an offer or solicitation for the purchase or sale of any financial instrument or as an official confirmation of any transaction. All market prices, data and other information are not warranted as to completeness or accuracy and are subject to change without notice. Any comments or statements made herein do not necessarily reflect those of J.P. Morgan Co. Incorporated, its subsidiaries and affiliates.