[Top][All Lists]
[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-----