wind330

如何在Emacs下使用SVN

0
阅读(2485)

在FPGA领域工作三年多来,主要就是学习代码编写,时序,FPGA架构等基础知识,从来都没有涉及系统工程方面的知识,原因有二:
1. 工作一直都是一个人,爱咋整咋整;
2. 工程小;
虽 然现况还是和以前差不多,但是以前的工作模式越来越显得不能胜任自己的要求,每开发完一个工程或者是一个IP后,工程文件夹下还有其他路径下总有很多很多 相类似的工程(不断地保存以前的代码,或者EDA工程),最后连自己的弄不清它们之间的联系,只能在工程结束后,把最终的产出给保存,其他予以删除。随之 消失的是开发过程中的经验,代码也变得越来越不能理解。
由此,学习OpenCores的版本控制方法——SVN,并且按照其文件夹结构规范自身在平时的开发工作。
首先,需要准备如下:
下载Setup_Subversion-1.6.4.msi,Subversion服务器端;
下载Emacs psvn.el插件,Emacs SVN的客户端入口,其实,Emacs23本身有一个VC Mode(版本控制模式)进行SVN客户端操作,但是结合上述插件会更方便;
服务器端的安装及操作:
1. 安装Setup_Subversion-1.6.4.msi,在AUTOEXEC.bat中添加SET APR_ICONV_PATH ="D:\Program Files\Subversion\iconv"
2. 启动服务器端程序,在“开始/运行…”输入svnserve -d -r e:\svnrepositorys启动服务器端程序,“-d”表示后台运行,“-r e:\svnrepositorys”表示Subversion库路径(保证svnserve.exe一直运行,才能操作下面步骤);
3. 新建一个Subversion库,打开一个cmd窗口,输入svnadmin create e:\svnrepositorys\test –fs-type fsfs,参数“–fs-type fsfs”是建立版本库的存储方式;
4. 配置用户和权限,即需修改E:\SVNRepositorys\test\conf\中的文件
svnserve.conf用来记录匿名访问和通过验证的访问权限,以及用户文件与权限分配文件名,修改为:
[general]
anon-access = read   #匿名用户根权
auth-access = write   #通过验证用户根权
password-db = passwd #用户帐号文件名
authz-db = authz    #权限分配文件名
文件passwd,是用来记录用户帐号的文件,修改为
[users]
Wind330 = 123
文件authz是用来记录种权限的分配,包插用户组,以及各个用户可以具备不同的根限,管理的相当严格,修改为:
[test:/]
Wind330 = rw
上述步骤完成后,就可以利用客户端维护设计了。
5. 上载test工程,在cmd窗口输入svn import test svn://127.0.0.1/test –m “Add Project” ,假设当前目录是F:/,则将该目录下的test文件夹上载到本地的Subversion库test;
6. CheckOut工程,在cmd窗口输入 svn co svn://127.0.0.1/test working,将Subversion库test下载至文件夹F:/working;(其实,上述5、6两步操作数据客户端的操作,还有,5、6的命令 输入不要在Emacs Shell模式下进行,会出现无法解释的错误)
客户端安装及操作:
SVN的客户端软件多种多样,为了和自己平时工作结合,wind330选用Emacs,所以可能对一些人就不具备参考性,所以在这里不做赘述,使用Emacs的人可以参考下面的链接:
http://lifegoo.pluskid.org/wiki/EmacsSubversion.html
至于其他的客户端,网络上推荐的有TortoiseSVN,大家可以尝试。

参考链接:
http://lifegoo.pluskid.org/wiki/EmacsSubversion.html
http://www.vcfans.com/2008/08/subversion-sever-in-the-local-system-for-backup.html
参考文件
Svnbook.pdf(太大了,大家上网搜索一下~_~)