@related : ProgrammingTool FileSystem OpenSource Source SVN
Usage:
package=pinball export CVS_RSH=ssh CVS_ROOT=:ext:${USER}@${package}.cvs.sourceforge.net:/cvsroot/${package} cvs -z3 -d ${CVS_ROOT} co .
@tag: SSH
cvs [update aborted]: cannot rename file CVS/Entries.Backup to CVS/Entries: Operation not permitted
sshfs remote:/ ~/mnt/fuse -o workaround=rename
$ cvs update cvs.real update: warning: cannot write to history file /cvsroot/*/CVSROOT/history: Permission denied
$ cvs -t update "cvs update: cannot write" ": No such file or directory"
FileSystem perms ?
$ cvs commit cvs commit: Examining . cvs: hash.c:312: findnode: Assertion `key ==== ((void *)0)' failed.=== cvs [[commit aborted]]: received abort signal
This happended when i commited a file, and due to a chmod failure the file needed to be removed from cvsroot.
I Was sharing the same cvsroot between Linux and Cygwin through SMB.
# create a cvs base export CVSROOT=$HOME/var/lib/cvs/cvsroot/ mkdir -p ${CVSROOT} ; cvs init
# create a project #cd ~/src/projectname export PROJECT=`basename \`pwd\` ` echo ${CVSROOT} ${PROJECT} cvs import -m original ${PROJECT} ${USER} original
cd .. mv ${PROJECT} ${PROJECT}-orig cvs co ${PROJECT} cd ${PROJECT}
how to avoid typing pass evertime ? ssh-keys ?
<zif> It all depends upon which kind of CVSROOT you use for this project. If this is a SSH cvs server (with CVS_RSH, for example), you may want to use a ssh-agent and ssh-add:
eval `ssh-agent` ssh-add your-private-key-file
# do things...
If you use a plain old :pserver: CVS access, juste doing a 'cvs login' once should do the trick. </zif>
cvs tag "${PROJECT}-${VERSION_DOT_CHAR}"
cvs co -r ${PROJECT}-${VERSION_DOT_CHAR}" ${PROJECT}
Getting :
PACKAGE=pinball cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/${PACKAGE} login \ && cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/${PACKAGE} co .