[Top][All Lists]

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

cvs modules with -u

From: Peter Møller Neergaard
Subject: cvs modules with -u
Date: Thu, 25 Jul 2002 10:37:41 +0200
User-agent: Wanderlust/2.9.9 (Unchained Melody) SEMI/1.14.3 (Ushinoya) FLIM/1.14.3 (Unebigoryōmae) APEL/10.3 MULE XEmacs/21.4 (patch 4) (Artificial Intelligence) (i386-mandrake-linux)


I have a module (bin) where I want to run a script
(set-local-shell-path) on my checked-out copy every time, I have
updated the module.  I have done a RTFM on the CVS manual and saw that
there is an -u option that should do the trick:

  `-u PROG'
          Specify a program PROG to run whenever `cvs update' is executed
          from the top-level directory of the checked-out module.  PROG runs
          with a single argument, the full path to the source repository for
          this module.

More details is given under ``How the modules file "program
options" programs are run'':

  The commit and update programs are locally-based, and are run as
        The program is always run locally. One must re-checkout the tree one
  is using if these options are updated in the modules administrative
  file. The file CVS/Checkin.prog contains the value of the option `-i'
  set in the modules file, and similarly for the file CVS/Update.prog and
  `-u'. The program is always executed from the top level of the
  checked-out copy on the client. Again, the program is first searched
  for in the checked-out copy and then using the path.

From this, I thought that adding an executable sh-script
set-local-shell-path to the top-level directory of my bin module
and putting the line

     bin -u set-local-shell-path .bin 

in my modules file, would have the script run after each update.
However, that does not work.  As shown below, it does try to run
the program, but claims that it cannot find it:

  achilles:~/bin > set-local-shell-path 
  achilles:~/bin > cvs -qt up -dP
   -> main loop with address@hidden:/home/church/turtle/cvsroot
   -> Starting server: /usr/turtle/bin.old/shell/ssh-noforward -l 
turtle cvs server 
  cvs server: Executing ''set-local-shell-path' 
  S-> system('set-local-shell-path' '/home/church/turtle/cvsroot/.bin')
  cvs server: cannot exec set-local-shell-path: No such file or directory

I've tried both an absolute path and using a compiled binary.  

Have a misread the manual and is cvs trying to run this on the
repository side.  Or am I'm doing something else wrong.

If it matters: I'm running ``Concurrent Versions System (CVS)
1.11.1p1-FreeBSD (client/server)'' under ``FreeBSD 4.5-RELEASE #3: Thu
Jul 18 12:57:33 EDT 2002'' on the client side, and ``Concurrent
Versions System (CVS) 1.10.8 (client/server)'' under ``Sun
Microsystems Inc.   SunOS 5.7       Generic October 1998'' on the
server side.

Thanks in advance

``When you have had all the experiences, met all the famous people,
made some money, toured the world and got all the acclaim you still
think--is that it? Some might be satisfied--but I wasn't'' -- G. Harrison

reply via email to

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