LINUX.IE, website of the Irish Linux Users' Group
Tux rules!

   
Home
New Users
Articles
Download
Projects
Community
Vendors

  Print Version
Email to...
 
Archives:


planetILUG

Recent News

News Archive


Join the
ILUG
on FaceBook


Join the
ILUG
on LinkedIn


Join the
ILUG SETI
Group



















 
 :: Mailing Lists

[ILUG] CVS synching

[ILUG] CVS synching

Brendan Kehoe brendan at zen.org
Wed Mar 8 08:14:52 GMT 2000


> How do I sync up with this without having to do a full 'cvs checkout' which
> I absolutely refuse to do over a 28.8k modem?  ... All I need is basically the
> little CVS directories in the tree.

You could do something like

cd blah
find * -type d -exec /tmp/newcvs {} \;

The use of `find * ...' with an asterisk is deliberate, so the argument going
into Repository looks correct.  Thus the cd to make sure that you're at the
top of the source tree.

The /tmp/newcvs script is

#!/bin/sh
[ "$1" -eq "CVS" ] && exit 0
cd $1 || exit 1
[ -d CVS ] || mkdir CVS
# 1 - Tell it where the CVS repository as a whole lives, so the cvs client knows
# where to go.  Change :ext: appropriately to your $CVSROOT's approach.
rm -f CVS/Root
echo ':ext:user at site.com:/some/cvsfiles' > CVS/Root
# 2 - Tell it the directory that has this particular subdirectory.
rm -f CVS/Repository
echo "/cvs/cvsfiles/$1" > CVS/Repository
# 3 - For each file, find out the correct version number and make note of it in
# the Entries list.
rm -f CVS/Entries
cvs status * 2>&1 | grep ,v | \
while read line ; do
  # Line format: 
  #    Repository revision: 1.18    /some/cvsfiles/blah/foo/code.c,v
  v=`echo $line|awk '{print $3}'` 
  f=`echo $line|awk '{print $4}'|cut -f1 -d,`
  f=`basename $f`
  echo "/$f/$v/`date`/" >> CVS/Entries
done
exit 0

The cost of doing a `cvs status' on your tree should be relatively cheap even
on a 28.8 connection, in comparison to checking out the full tree.

Note the above assumes the source tree you have is in fact up to date with
what was imported into the CVS repository.

Hope this helps!
B


-- 
Brendan Kehoe

Web page: http://www.zen.org/~brendan/




More information about the ILUG mailing list
Read this without the formatting.
                                                                                                    

 

Hosted by HEAnet


Maintained by the ILUG website team. The aim of Linux.ie is to support and help commercial and private users of Linux in Ireland. You can display ILUG news in your own webpages, read backend information to find out how. Networking services kindly provided by HEAnet, server kindly donated by Dell. Linux is a trademark of Linus Torvalds, used with permission. No penguins were harmed in the production or maintenance of this highly praised website. Looking for the Indian Linux Users' Group? Try here. If you've read all this and aren't a lawyer: you should be!
RSS Version
Powered by Dell