This shows you the differences between two versions of the page.
cvs [2012/11/04 20:59] |
cvs [2022/04/16 12:22] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | @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 ? | ||
+ | |||
+ | <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 . | ||
+ | |||
+ | |||
+ | ===== 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}} | ||
+ | |||
+ | |||