@related : [[ProgrammingTool]] [[FileSystem]] [[OpenSource]] [[Source]] [[SVN]] * http://undefinedvalue.com/2010/07/02/workflow-remote-cvs-local-git * http://stackoverflow.com/questions/1203510/how-can-i-git-cvsimport-multiple-modules-from-a-cvs-repository-with-differing-br ====== [[CVS]] [[Version Control]] ====== Usage: package=pinball export CVS_RSH=ssh CVS_ROOT=:ext:${USER}@${package}.cvs.sourceforge.net:/cvsroot/${package} cvs -z3 -d ${CVS_ROOT} co . ===== Errors over SSH ===== @tag: [[SSH]] cvs [update aborted]: cannot rename file CVS/Entries.Backup to CVS/Entries: Operation not permitted * http://www.mail-archive.com/macfuse-devel@googlegroups.com/msg00023.html sshfs remote:/ ~/mnt/fuse -o workaround=rename ===== Errors over SMB ===== $ 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]]. ===== Usage ===== # 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 ? 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. 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 . ===== MISC ===== * http://jineshkj.livejournal.com/799.html # [[SSH]] http://arch.debian.org/arch/private/srivasta/index.xhtml {{http://www.bq2design.com/images/Architectural/CVS-01.jpg?nocache}}