SVN使用blog收藏

来源:互联网 发布:阿里云服务器cname 编辑:程序博客网 时间:2024/06/03 15:58

SVN使用blog收藏

新一篇: SQLite介绍 | 旧一篇: LUA几个相关网站和编程IDE

http://www.blogjava.net/coldtear/archive/2006/08/04/61668.html

一、 软件下载并安装
1、 服务器
1 )下载 Subversion 服务器端软件,网址: http://subversion.tigris.org/ 。在下载页面找到 Windows NT, 2000, XP and 2003 然后点击相关连接进入即可下载,目前最新版本是 svn-1.3.2-setup.exe 。
2 )下载后,运行 svn-1.3.2-setup.exe 直到安装成功。
2、 客户端
1 )下载 Subversion 的 windows 客户端程序 TortoiseSVN 和中文语言包,网址: http://tortoisesvn.tigris.org/ 。目前最新版本是 TortoiseSVN-1.3.5.6804-svn-1.3.2.msi 和 LanguagePack-1.3.5.6804-win32-zh_CN.exe 。
2 )下载后,先运行 TortoiseSVN-1.3.5.6804-svn-1.3.2.msi 安装程序,完成后,提示要重启计算机,选择“否”,运行中文语言包程序完成后再重启计算机。
二、 建立版本库
运行 Subversion 服务器需要首先要建立一个版本库( Repository ),可以看作服务器上存放数据的数据库,有两种方法可以建立版本库:
1、 命令行方法:在命令行模式下,运行 svnadmin create f:/repository ,即可在 F 盘下创建一个版本库 repository 。
2、 界面操作方法:在 F:/repository 目录下,右键,选择 TortoiseSVN 下的“在此创建文件库”,文件库类型选择默认的“本地文件系统 (FSFS) ”,这样就会在该目录下创建一个版本库。
三、 配置用户和权限
1、 在 F:/repository/conf/svnserve.conf 文件中去掉 # password-db = passwd 项前面的 # 号和空格(空格一定要去掉,否则会报错)。
svnserve.conf 文件内容如下:
[general]
# anon-access = read
# auth-access = write
# password-db = passwd
# authz-db = authz
# realm = My First Repository
各参数定义如下:
anon-access :定义非授权用户的访问权限,有三种方式: none 、 read 、 write ,设置为 none 限制访问, read 为只读, write 为具有读写权限,默认为 read 。
auth-access :定义授权用户的访问权限,有三种方式: none 、 read 、 write ,设置为 none 限制访问, read 为只读, write 为具有读写权限,默认为 write 。
password-db :定义保存用户名和密码的文件名称,这里为 passwd ,和该文件位于同一目录。
authz-db :定义保存授权信息的文件名称,这里为 authz ,和该文件位于同一目录。
realm :定义客户端连接是的“认证命名空间”, Subversion 会在认证提示里显示,并且作为凭证缓存的关键字。
2、 在 F:/repository/conf/ passwd 文件中去掉 # harry = harryssecret 和 # sally = sallyssecret 两项前面的 # 号和空格。
passwd 文件内容如下:
[users]
# harry = harryssecret
# sally = sallyssecret
这里定义了两个用户 harry 和 sally ,用户密码分别是 harryssecret 和 sallyssecret 。同样,我们还可以定义自己的用户名和密码。
四、 运行服务器
在命令行模式下,运行 svnserve –d –r f:/repository ,服务器即可启动。
五、 初始文件导入
1、 在我们想要做版本控制的项目根目录下,右键,选择 TortoiseSVN 中的导入,
2、然后提示输入文件库路径,如: svn://localhost/repository ,
3、确定后提示要输入用户名和密码,输入我们在 passwd 文件中定义的用户名和密码后(如用户名为 harry ,密码为 harryssecret ),数据就导入到我们定义的版本库 repository 中了。
六、 客户端操作
1、 从版本库中取出项目:
在右键菜单中选择“ SVN 取出”, 然后在“文件库 URL ”一栏填写 Subversion 服务器上文件库的路径,如: svn://localhost/repository ,确定后,就可以取出文件库 repository 中的文件。  
2、 更新项目:
在右键菜单中选择“ SVN 更新”就可以将文件库中最新版本的文件取到本地计算机上。
3、 提交修改:
对修改过的文件确定没有问题后即可提交到文件库中, 确定后,即可将修改过的文件提交到版本库中。
4、 查看文件库
选择“文件库浏览器”菜单,就可以打开 Subversion 服务器上可见的文件库, 并可以对文件库中的文件及文件夹进行操作。

 


原创 SVN使用收藏

 | 旧一篇: test

 SVN 全称 subversion .一款优秀的版本控制软件。据说是可以代替CVS的下一代控制软件。
今天初次尝试配置使用。
1 SVN和版本控制软件CVS,VSS的比较

工作方式:

CVS (Concurrent Version System) 上一代的版本控制软件,版本控制的方式主要是
“合并--修改--提交”,也就是说当系统版本和当前用户的版本不一样的时候,服务器会
要求通过合并服务和客户端的版本,生成一个新的版本。提示用户版本冲突,用户修改了
对应版本之后,就可以进行相应的提交了。
VSS(Visual SourceSafe)微软出的一款版本控制软件,它主要方式是通过"锁定--修改--解锁--提交"的方式进行版本控制的。也就说当一个用户修改一个版本的文件时,锁定该文件,使其他用户不能够进行修改。只有当此用户解除锁定,并且提交文件以后,其他用户才可以进行文件的修改。

SVN 是他们的综合,就是说具有以上两种的功能。

优缺点:
CVS : 它工作方式,可以使多个用户并行工作。这样对于正在编写软件的项目团体有利。
但是版本控制某个项目下的一些核心文件比较困难,假如团队中的每个人都写文件的权限。这样往往会不小心的让核心代码被修改。
VSS : 工作方式决定它就是一个文件只能由一个用户修改。其优点可以锁定核心代码,缺点则是工作效率比较低。所以适合小团队进行开发。
SVN : 两者的综合,呵呵,取两家之长。
还有它具有自己统一的客户端,在windows环境下,通过鼠标右键就可以进行操作,易用性明显强于前面两者。

SVN的具体配置:
呵呵,SVN有自己的操作手册,需要的可以到它的官方网站去下载。
由于操作手册已经很详细了,我这里指出我自己认为比较有用的简单配置

1 安装SVN的服务端和SVN的客户端,地址
  步骤略
2 创建对应的放置SVN文件文件夹,名称为svn,路径E:/svn
  设置授权文件目录,这里直接创建在svn目录下,点击鼠标右键。

 
3 配置对应权限的配置
     conf文件夹中设置
    
      修改文件svnserve.conf 文件
      #password-db = passwd
        password-db = passwd
      #authz-db = authz
        authz-db = authz
      这样设置为通过密码和授权方式进行SVN配置
      
      修改passwd文件
      #设置管理员密码
      [users]
      admin = admin123
      
 
      修改authz文件
      #设置工作组,并且授予admin组拥有管理根目录下所有读写权限
      [groups]
      admin = admin
       [/]
      @admin = rw
       * = r

4    启动对应的服务
      一般情况是通过命令窗口,svnserve -d -r E:/svn 这句命令进行。
      这里我通过编写一个“svn服务启动.bat”进行启动。
    
     当然也可以通过安装服务的方式,svnserve  install -d -r E:/svn ,然后设置为自动启动。

5  然后可以在根目录下创建E:/svn需要的文件夹,进行权限管理了
   
6  项目开发eclipse插件,通过eclipse 的插件管理,找到对应的org.tigris.subversion.subclipse.core_1.2.0.jar
    插件。安装插件之后通过eclipse菜单中找到“show view”
   
    就可以进行相应的操作了。





Subversion安装记

一直都用CVS,没有什么大问题,只是觉得有些地方不大好用,比如移动文件的位置。据CVS自己的文档说,这种变动需要手工完成。不记得从哪里查得Subversion支持这种变动,便一直想试试,苦于找不到机会。趁今日有空,着手安装再试试看是否有此项功能。

找到Subversion 的 book (http://svnbook.red-bean.com/nightly/en/index.html)并下载它的1.3.2的Windows安装EXE。执行并一路Next。 安装时没有选创建桌面等快捷,所以找不到地方启动。看看book吧。

在book的A Quick Start中有一段:
$ svnadmin create /path/to/repos$ ls /path/to/reposconf/  dav/  db/  format  hooks/  locks/  README.txt
我虽然用的是Windows,不过也许也是用command line也说不定。打开cmd,敲入svnadmin,果然有反应,看来是要用
command line 了。那就照book说的先建一个新的repository吧. 运行svnadmin create g:/SubRepo.
不过从上面的例子来看,它只是访问本地的repository,那remote的怎么访问呢?
看book中提到svnserver,想必要运行它。运行svnserver -d --listen-port=8080 --root=g:/后,打开TortoiseSVN, 
用“file:///G:/SubRepo”的形式能访问到上面建立的repository,但用http://localhost:8080不能访问?!也许是我
的TortoiseSVN太老了(我记得是去年装的!),下一个最新的试试了。
在新的TortoiseSVN里输入http://localhost:8080也还是得到“Error * Propfind request..."的错误。到Google里
查这个错误,建议我读Server Configuration那一章,一读,发现应该使用svn://localhost:8080,如果server使用
svnserve 的话!果然改用svn://后就可以访问repository了。
接下来,赶紧import一个工程,checkout它,在IDE里把一个文件另存到一个新的子目录下,关闭工程。到TortoiseSVN里去
commit,不好,不让,说是Authorization failed.
刚才看server configuration是好像看到关于Authorization的东西在它的repository目录下,到那里去看一下吧。
在SubRepo的conf目录下,确有三个文件,这三个文件里的内容就是控制subversion的用户如何存取repository的。做相应的
调整后,TortoiseSVN果然可以进行写操作了。如果你对repository里的文件进行移动,那么单更新checkout的工程时,工程
里的文件也会做相应的移动。这正是我要的!
有空还需要看看如何让subversion服务器发出email通知相关的项目人员。
http://www.cnblogs.com/bochenlin/archive/2006/07/03/441185.aspx