<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[CVS使用手记]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Tue, 15 Jul 2008 05:07:24 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	由于要作项目开发,考虑到就几个人同时开发,于是想用下CVS <br/>CVS ---Concurrent Versions system(并发版本管理系统)是一个版本控制管理系统,他是目前最为广泛使用的一个系统.大家只要曾经下载过linux的软件源代码(比如tar.gz的文件)你可以在没一个目录下看到CVS目录,那就说明他的软件是CVS进行控制的. <br/>目前基本上流行的Linux发布版本都自带有cvs. <br/><br/>CVS初始化 <br/>--------------------------------- <br/>---------------------------------- <br/>环境设置:指定CVS库的路径CVSROOT <br/>tcsh中设置 <br/>setenv CVSROOT /yourpath <br/>bash中设置 <br/>export CVSROOT=/yourpath <br/>初始化: <br/>%cvs init <br/>这时会在你的$CVSROOT目录下产生CVSROOT目录,下面是他生成的一些文件. <br/>尽量不要去改变他. <br/>一个项目的导入: <br/>现在把我们的项目导入到CVS中去 <br/>%cvs import -m &quot;your comment message&quot; yourprojectname vendor_tag release_tag <br/>执行后,会把当前目录下的所有文件(包括子目录)导入到/yourpath/yourprojectname目录中去 <br/><br/>vender_tag:开发伤标记 <br/>release_tag:版本发布标记 <br/>现在你可以删去原来的源代码了. <br/>ok,现在可以使用CVS了,找到一个合适的目录执行 <br/>%cvs checkout project_name <br/>cvs将创建project_name目录,并将最新版本的源代码导出到相应的目录中. <br/><br/>CVS的基本使用 <br/>---------------------------------- <br/>---------------------------------- <br/>当你执行过cvs checkout,就不要来再次导出了,以后只要使用 <br/>%cvs update <br/>来同步文件,如果连带子目录也要同步,就必需使用 <br/>%cvs update -d 了. <br/>添加文件: <br/>当你新写了一个文件后,可以使用 <br/>%cvs add filename来提交 <br/>这时其实文件并没有真正的提交,&#92;如果要确定提交,使用下面的命令 <br/>%cvs commit -m &quot;your comment&quot; <br/>删除文件: <br/>%cvs rm filename <br/>%cvs commit -m &quot;why delete this file(s)&quot; <br/>导出发布不代CVS目录的源代码 <br/>如果系统完成了,需要发布,使用cvs export命令,不过export只是针对一个TAG或者日期导出,可以是这些命令方式: <br/>%cvs export -r release1 project_name <br/>%cvs export -D 20040303 project_name <br/>%cvs export -D now project_name <br/>对于cvs client端,如果使用linux,则已经有了,如果是windows,就使用wincvs吧. <br/>这里要考虑到cvs的远程认证,我们使用cvs本身的pserver的认证方式 <br/>首先在服务器端建立启动文件 <br/>#cd /etc/xinted.d/ <br/>#cat cvsperver <br/># default: off <br/>service cvspserver <br/>{ <br/>disable = no <br/>port = 2401 <br/>socket_type = stream <br/>wait = no <br/>#only_from = 127.0.0.1 <br/>user = apache <br/>server = /usr/bin/cvs <br/>passenv =/wpm-source/CVSROOT/passwd <br/>server_args =-f --allow-root=/wpm-source pserver <br/>log_on_failure += USERID <br/>} <br/>重新启动xinted <br/>#kill -HUP xinted <br/>然后进入你的$CVSROOT/CVSROOT目录,要建立passwd文件 <br/>这个文件的格式是 <br/>username:password:map_system_user <br/>其中密码加密方式和apache中的加密方式一样,于是我们可以这样作: <br/>#htpasswd -c passwd yourname <br/>#cat passwd <br/>yourname:sEylx9?G:apache <br/>注意passwd文件后面的passwd是后来手工加入的. <br/>如果你觉得这样麻烦,你可以使用cvstrac来管理. <br/>cvstrac可以在 <br/>http://www.cvstrac.org <br/>下载,我使用了,暂时还没有发现他的好处. <br/>在客户端使用下面的命令来将项目导出 <br/>%cvs -d :pserver:yourname@yourip(or hostanme)#port/yourcvsroot checkout yourprojectname <br/>这样就会在当前目录下建立yourprojectname的目录了. <br/>现在你就可以在这个目录下做你的工作了.做完后,使用cvs基本使用中提到的命令来修改,更新和添加文件,就象在本地使用一样. <br/>你最好设立这样的环境变量,这样下次开机就不要输入重复的命令 <br/>在/etc/profile文件中加入这样两行 <br/>CVSROOT=:pserver:yourname@cvsrootipaddress#port/cvsroot <br/>export CVSROOT <br/>就可以了. <br/><br/>使用感想: <br/>使用了几天,感觉很不错,至少我不要担心文件会被几个人同时修改,也能保证文件统一管理和及时同步,又能随时发布问题的开发版本. <br/>如果真是要做项目开发,使用这样类似的软件是很有必要的.windows下面使用的是Visual SourceSafe.我没有用过.<br/><br/>
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] CVS使用手记]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>