Maintaining a partial cvs workarea

Chris Weyl cweyl at alumni.drew.edu
Sun Aug 24 21:16:33 UTC 2008


2008/8/24 Axel Thimm <Axel.Thimm at atrpms.net>:
> Hi,
>
> I'm keeping only a partial checkout of the packages, e.g. the ones I'm
> maintaining. Now I'd like to be able to cvs up and have all updates
> flow in, but if I do so cvs will want to get all other thousand
> packages in.
>
> Until now I'm using a poor man's solution with a for loop and
> pushd/popd, but it's extremely slow due to login in for each package.
>
> Is there a more clever way to get cvs up running w/o pulling in all of
> the cvsroot? I could probably manually edit CVS/Entries, but this feels
> a bit dirty. What are other packagers doing?

With respect to the ssh logins required for each cvs operation, I tend
to use opportunistic connection multiplexing.  e.g., in my
~/.ssh/config I have:

----
ControlMaster auto
ControlPath   ~/.ssh/sockets/%h_%p_%r_multi.sock

Host cvs.fedora.redhat.com
    Compression      yes
    CompressionLevel 3
----

And then I just do a "ssh -f -N cvs.fedora.redhat.com".  It
authenticates me once, then just kicks around in the background until
I perform a network operation though CVS, at which point the "new"
connection is routed through the existing one.  If I haven't forked
off a connection to c.f.r.c, no biggie, ssh just connects per usual.

This won't help with selectively pulling down CVS, but it should make
each operation a smidge faster :-)

                          -Chris
-- 
Chris Weyl
Ex astris, scientia




More information about the infrastructure mailing list