Cavingdeep的.NET专栏

软件开发与工程,又一种艺术。
随笔 - 8, 评论 - 83, 引用 - 5

导航

工具

关于

逆水行舟,不进则退!

业精于勤,荒于嘻
行成于思,毁于随



月 [下月] [上月]


标签

每月存档

广告



访客

 

前段时间经常听说很多关于Subversion的好话,所以我决定也是时候真正体验一下了(我一直都是关注Subversion的哦)。Subversion相对CVS来讲有以下几点优势:

  1. 增加了元数据(Meta-data)的版本控制,Subversion有很多设置都是通过元数据实现的。
  2. 增加了文件夹的版本控制,没有文件夹的版本控制是CVS中一个很大的不足,这点在Subversion中得到了解决。
  3. 支持文件、文件夹的重命名与移动,好处多多,方便多多,不用再描述了吧。
  4. 真正的原子提交(Truly Atomic Commits),提交作为一个事务,如果某一受控对象提交失败,那么其他提交的对象也不会有效。这个功能真是一个字:好!同时支持不同仓库(Repository)中受控对象的同时提交。
  5. 一些性能上的优化,如分支(Branching)与标签(Tagging)会采用文件夹的受控方式达到优化。

Subversion在使用习惯上与CVS最大的不同之处在我看来就是它的修订号(Revision)的定义了。Subversion中修订号不是针对某个特定的受控对象的,而是针对整个仓库的,你在Subversion中不会说“文件A的第4个修订”,而是“仓库修订4中的文件A”,每一次提交都会导致仓库修订号的增加。更多关于Subversion的介绍请看它自带的文档,这里就不叙述了。

如果你决定使用Subversion,那么你很可能需要下面几个软件(免费开源):

  1. Subversion服务器与客户端(http://subversion.tigris.org),官方版本,我采用的版本是1.1.3。Windows下建议下载安装文件包,因为安装更全面,而且会自动配置环境。
  2. TortoiseSVN(http://tortoisesvn.tigris.org),官方版本,Windows下有两个,一个是常规版本,一个是为VS.NET 2003及更低版本Web项目不支持.svn文件夹的bug所做的非常规版本。非常规版本数据不能与其他版本通用,所以不建议使用,更多信息请看Subversion的相关文档。
  3. SVNService(http://dark.clansoft.dk/~mbn/svnservice/),可选。可以安装一个Windows服务来运行svnserve服务器(Subversion的独立服务器。Subversion可以使用两种服务器,Apache作为服务器或者它自带的svnserve)。

依次安装后就可以使用Subversion了。与CVS同样,Subversion(SVN)分为客户端与服务端,首先你可以用TortoiseSVN建一个仓库(Repository),注意这个操作是在服务端,然后你要选择一种连接到仓库的方法(在客户端),有以下五种:

  1. file:///ReposPath/RepoPath,以文件的形式直接访问,最简单的连接方法,不需要服务器,权限由操作系统来控制,如果后台仓库你采用了FSFS(文本)格式的话那么还可以在局域网共享中使用。
  2. http://host/Repos/Repo,如果你采用了Apache作为服务器的话就可以以这种形式访问,权限由Apache设置。
  3. https://host/Repos/Repo,与上一个一样,同时采用了HTTPS加密通信。
  4. svn://host/Repos/Repo,如果你采用了svnserve作为服务器的话那么就可以采用这种形式访问,它是一种基于TCP/IP的访问方式。权限由仓库的配置文件设置。
  5. svn+ssh://Repos/Repo,与上一个一样,同时采用了SSH的加密通信。

有了连接的URL后就可以用TortoiseSVN连接到仓库了,然后你就可以开始真正使用Subversion了。其他的我就不说了,有兴趣可以自己看看文档,推荐首先阅读TortoiseSVN的文档,Subversion的文档复杂度有些高,不宜初学者!

相关文章

打印 | 张贴于 2005-03-22 15:16:00 | Tag:Tools

留言反馈

#回复: 使用Subversion做.NET项目 编辑
项目中单独的文件权限好像不能控制吧, 不知道可以控制目录不?
2007-07-24 20:54:00 | [匿名用户:Daniel]
#re: 使用Subversion做.NET项目 编辑
请问怎样控制一个repository中不同文件的权限?
2006-09-09 23:53:00 | [匿名用户:xmpp]
#re: 使用Subversion做.NET项目 编辑
单位只允许80端口,而同一个服务器上有两个web服务器IIS and Apache。IIS跑asp.net & asp ,Apache 跑svn。怎么解决这个端口问题啊?
2006-08-21 19:01:00 | [匿名用户:Daniel]
#re: 使用Subversion做.NET项目 编辑
to:yippeesoft
感谢
2005-04-05 12:54:00 | [匿名用户:学习]
#re: 使用Subversion做.NET项目 编辑
学习
你找个支持SVN得开源站点登记吧~~
不要在乎形式~~~关键在于作
EMAIL。SF都可以得~~
2005-04-01 16:22:00 | [匿名用户:yippeesoft]
#re: 使用Subversion做.NET项目 编辑
不知哪位可以回答我上面的问题,不胜感激。
2005-03-26 17:42:00 | [匿名用户:学习]
#re: 使用Subversion做.NET项目 编辑
to sherwin:
你再安装TortoiseSVN,然后再资源管理器中点右键,有个导入功能。
2005-03-26 17:37:00 | [匿名用户:学习]
#re: 使用Subversion做.NET项目 编辑
我在Windows server 2003 下安装了SVN,可是无法将项目import到Repository中。
我在DOS下输入:
F:\SVN>svn import F:/SVN/TestProject file:///F:/TestProject -m 'init'
执行后,
报错:
svn:无法打开地址<URL>的ra_local会话
svn:无法打开档案库"file:///F:"
svn:can't open file '/F:/format': 文件名、目录名或卷标语法不正确

你知道是什么原因么?
多谢!

2005-03-26 09:33:00 | [匿名用户:sherwin]
#re: 使用Subversion做.NET项目 编辑
我的这个问题各位能不能有答案:

我想和一个朋友通过Internet协同开发,但没有可以安装Subversion服务器版本的地方(服务器),不知哪里能提供服务器端,建立Repository? 或者提供直接建好的Repository,我直接向里面导入项目就可以了?请问哪里有呀?
2005-03-25 10:28:00 | [匿名用户:学习]
#re: 使用Subversion做.NET项目 编辑
to sherwin,

首先到官方网站下载Windows下的安装包,这个安装包中就包含了服务器工具与客户端工具。直接用安装包安装即可,然后你需要选择一种服务器来配置,详细请参看TortoiseSVN的文档。^_^
2005-03-25 08:30:00 | [匿名用户:Cavingdeep]
#re: 使用Subversion做.NET项目 编辑
Subversion有windows下的服务器么
Windows下的安装方法可以介绍一下么
2005-03-24 20:43:00 | [匿名用户:sherwin]
#re: 使用Subversion做.NET项目 编辑
我想和一个朋友通过Internet协同开发,但没有可以安装服务器版本的地方(服务器),不知哪里能提供服务器端,建立Repository? 或者提供直接建好的Repository,我直接向里面导入项目就可以了?请问哪里有呀?
2005-03-23 07:00:00 | [匿名用户:学习]
#re: 使用Subversion做.NET项目 编辑
这个插件ankh还可以。
svn跟asp.net合用的时候会出问题。因为它的.svn的文件夹会使得vs.net连接iis的时候找不到项目信息。
2005-03-22 19:33:00 | [匿名用户:Jason]
#re: 使用Subversion做.NET项目 编辑
有个free的插件支持在vs.net中直接使用subversion的,名字忘记鸟~有兴趣的自己google一下
2005-03-22 15:52:00 | [匿名用户:rIPPER]
博客主人设置本博客不允许匿名用户发表言论,请登录后再试

Powered by: Joycode MVC Blogger System