CVS Client/Server
• CVS (GNU CVS)– Open source– Cross-platform
• Designed as a client/server application• Remote access
– Client cvs: uses rsh or ssh to establish a session to the remote server,issues CVS command and request
– Server cvs: sends the results back to the requestor (client)
– Any platform• “Server”
– No CVS server daemon running on a machine dedicated as CVS server !!!
CVS Client-Server Architecture
LAVC
SCS pubs
SCS AFS
slcsun1
SCS NFS flora
NT VMS UNIX
•/afs/slac/g/cd/soft/cvs (repository)•/afs/slac/g/cd/soft/ref (reference)•/usr/local/bin/cvs
esdslx02 (Linux)/usr/local/bin/cvs
CVS “Server”• any public UNIX machines
• access to AFS or/and NFS (CVS respository , reference)• /usr/local/bin/cvs available
• slcsun1• meets such requirements• in our control (easy management, security)• memory consumption estimate needed• a dedicated CVS server
CVS Client• any machines
•Unix, VMS, NT…• CVS available
• an example• esdslx02 (linux)• /usr/local/bin/cvs
rsh or ssh
An Example
Connecting with RSH
•Enable RSH
# cat /etc/inetd.confshell stream tcp nowait root /usr/etc/tcpd /usr/sbin/in.rshd# cat .rhostsesdslx02.slac.stanford.edu jingchen
• Verify if CVS is available
# which cvs/usr/local/bin/cvs
No need to start a CVS server daemon!
• CVS repository accessible via AFS
# ls /afs/slac/g/cd/soft/slaconly/cvs
Connecting with SSH
•Disable RSH# mv .rhosts .rhosts.old
Connecting with RSH
•Verify if rsh works
# rsh -l jingchen slcsun1 'echo $PATH‘…/u/cd/jingchen/bin:/usr/local/bin:/usr/afsws/bin…
• Remote CVS via rsh
# cvs -d :ext:slcsun1:/afs/slac/g/cd/soft/slaconly/cvs checkout scriptcvs server: Updating script
Connecting with SSH
•Verify if rsh is disabled
# rsh slcsun1 lspermission denied
•Remote CVS via ssh
# setenv CVS_RSH ssh# cvs -d :ext:slcsun1:/afs/slac/g/cd/soft/slaconly/cvs checkout script
CVS Clinet : esdslx02 CVS “Server”: slcsun1
CVS Client on VMS
• Tests done: – Made SSH2 available
– Enabled RSH
• CVS server on UNIX– No particular requirement (or setup)
– access to AFS or/and NFS (CVS respository , reference) /usr/local/bin/cvs available– A test: linux (client) -> slcsun1 (server) working!!!
• Conclusion: – SSH no longer an issue!
– Server is OK!
• KenB in progress“… the VMS side will work. The AFS token is another issue. We need to set up an account, if we can, that does not have a token expiration …”
CVS Client on NT
• Test with Netbean (Greg) • A simple test
– From NT command line (DOS)
– Software: ComponentSoftware CVS for Windows
– http://www.componentsoftware.com/products/cvs/
– Setup and test