info-cvs
[Top][All Lists]
Advanced

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

Re: Selecting files for checkou with regex


From: Mark D. Baushke
Subject: Re: Selecting files for checkou with regex
Date: Sun, 26 Mar 2006 08:23:49 -0800

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

address@hidden writes:

> How can a checkout be limited to only files that meet a certain regular 
> expression?  e.g. 
>       *.txt$

CVS does not have any feature to checkout files or directories using
just a regular expression.

> If CVS can't do that, then what is the way to get full list of file
> names? I could run grep/egrep on that instead.

For cvs 1.12.x (or CVSNT), you may find the 'ls' and 'rls' commands of
interest.

Examples:

  cvs rls module
  cvs rls -l module/subdir
  cvs rls -R module/subdir
  cvs rls -l -R module/subdir

where 'module' is a top-level module and 'subdir' is a subdirectory of
'module'.

Another method available to all versions of cvs is the rlog command with
the -R switch to print just the name of the RCS file.

For what you want, something like the following might do the trick:

  cvs -d :ext:host.domain/root/path rlog -R module/subdir |\
   grep -v /Attic/ | sed -e 's,^/root/path/,,' -e 's/,v$//' |\
   grep '.*\.txt$' > files
  cvs -d :ext:host.domain/root/path checkout `cat files`

There may be other ways to do what you wish. However, it may also
be a good idea to segregate the files you wish to checkout to a
particular directory rather than mixing them with files you would
not wish to checkout.

        Enjoy!
        -- Mark
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (FreeBSD)

iD8DBQFEJsAVCg7APGsDnFERAtVVAKDvDr7b197qFAZSOMiL9VQuoWf+awCfca8a
nnh5mMgATQ/kniBmyx1QiY0=
=tsgS
-----END PGP SIGNATURE-----




reply via email to

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