CVS(WinCvs)
为了ENC的显示,加入openev的开源Project,需要进行版本控制(Concurrent version system)。于是乎,只能用上wincvs,但是却搞了一天,才搞定。
大概是因为wincvs逐渐退化的原因,网络上的相关教程都是很久的内容,还是1.3的版本的叙述,而且很多都是互相转载,弄的我一头雾水。还好,算是搞定了。当然,我这里说的只是作为客户端来使用cvs,即仅仅下载源码(上载改变repository里面内容还没尝试)。
步骤:
1.下载http://www.wincvs.org/download.html 页面上的“Latest Recommended Release: WinCvs 2.0.2.4 (released 2005-08-15) ”下的[Download Installer]
2.安装wincvs_setup.exe(其默认会接着安装cvsnt_setup.exe,事实上如果仅仅像我这样下载上传代码是用不着cvsnt的),一路next,就OK了
5.稍作配置。Admin->Preference,设置管理员工作路径,当然了,这个路径(文件夹)要事先创建好
4.例如,在SourceForge上面显示的是
cvs -d:pserver:anonymous@openev.cvs.sourceforge.net:/cvsroot/openev login
cvs -z3 -d:pserver:anonymous@openev.cvs.sourceforge.net:/cvsroot/openev co -P modulename
则打开页面,Admin->Login,在CVSROOT中输入内容":pserver:anonymous@openev.cvs.sourceforge.net:/cvsroot/openev"
确定后显示返回代码为0,表明登陆成功。
5.好了,接下来进行代码下载。
Remote->Checkout
这里一定要把CVSROOT给勾上,否则会出现错误说没有指定CVSROOT,我不明白的是我已经登录到该服务器上了(见step3),为何还要再输入一遍“:pserver:anonymous@openev.cvs.sourceforge.net:/cvsroot/openev”,但是不这么搞还就是不行,哎,就再输入一下吧。
接着在module name and path on the server 中输入想下载的模块名(这些模块名可以通过SourceForge中browser CVS看到,且注意大小写),如openev/contrib
事实上,上面SourceForge中提示的“cvs -z3 -d....”是一个完整的命令行command,但是因为现在是wincvs,界面化了,不需要输入全了。
然后在local folder to checkout to输入想要代码存储于本地电脑上的位置,当然你事先要先建立好该文件夹。
好了,点击确定,开始下载吧,速度貌似比较slow,。。。。
SVN
再说下SVN,这也是个团队协作必不可少的工具,功能是和wincvs一样的,而且看架势似乎要取代wincvs。因为我发现
1)wincvs软件更新似乎是几年前了---2007年
2)SourceForge上面的好多代码基本都支持SVN,但是好多已经没有wincvs的相关链接了
好了,说说SVN的使用(也就下载功能而言哦)吧。
1.下载TortoiseSVN,http://tortoisesvn.net/downloads
2.安装,没啥好说的,一路next,最后乖乖听话重启电脑,因为要整合到资源管理中嘛
3.新建一个文件夹,作为要下载的源代码的存储地
4.在该文件夹上右击->SVN Checkout,在弹出的页面中输入网址
如SourceForge里面提示的为:svn co https://openev.svn.sourceforge.net/svnroot/openev openev
则只需要输入"https://openev.svn.sourceforge.net/svnroot/openev ”即可(和wincvs一样的道理)
最后再说明一点,即在SourceForge上面如何搜索上述的一些下载网址:
1)先进入SourceForge主页,搜索需要的源码名称,找到后点击该名称,进入另一个界面
2)点击develop,如果有wincvs和SVN相关的链接的话就会在该界面上显示出来。
事实上我发现不是每个源代码都有该链接的,例如eMule,我就没发现任何的wincvs或SVN的链接。
再最后,给一个SVN的中文官方网址:http://www.subversion.org.cn/
还有再再最后就是,并非SVN和wincvs的链接中所携带的源码时一样的内容,例如我的这个openev。(哎,我没想到还有这种情况发生,所以在这个方面多走了很多冤枉路。)我晕。。。。
二.Linux系统下
SVN
1.安装:sudo apt-get install subversion
2.下载:svn co https://openev.svn.sourceforge.net/svnroot/openev openev
最后的那个openev是下载到的本地文件夹名称,如果像上面直接没写绝对路径,那么默认的是下载到当前目录下。当然,我的意思是你可以直接指定一个本地绝对路径。
CVS
1.安装:sudo apt-get install cvs
2.下载:还是以我上面openev为例
1)登录:cvs -d:pserver:anonymous@openev.cvs.sourceforge.net:/cvsroot/openev login
2)下载:根据提示的cvs -z3 -d:pserver:anonymous@openev.cvs.sourceforge.net:/cvsroot/openev co -P modulename
输入: cvs -z3 -d:pserver:anonymous@openev.cvs.sourceforge.net:/cvsroot/openev co contrib
这样就把openev里面的contrib模块下载到了当前目录,并以contrib为名称。
注意:这里就是比网页提示的代码少输入一个“-p”,如果按照提示照输的话,下载的代码会直接在终端中显示出来,而不会下载到本地文件夹中。
这个CVS相比于SVN来说,美中不足的似乎是她不支持指定决定本地下载路径。如果要下载到某个特定路径,需要先cd到该路径。