svn

来源:百度文库 编辑:神马文学网 时间:2024/05/01 04:52:05

 

Technology Life
Learning and Sharing--张涛的技术博客
随笔- 18  文章- 3  评论- 450  博客园  首页  新随笔  新文章  联系  管理  订阅  项目管理实践教程二、源代码控制【Source Control Using VisualSVN Server and TortoiseSVN】

在第一篇文章 项目管理实践教程一、工欲善其事,必先利其器【Basic Tools】发布后,根据大家的回复,我需要向大家说明几个问题:

1.为什么要用VisualSVN Server,而不用Subversion?

回答:

因为如果直接使用Subversion,那么在Windows 系统上,要想让它随系统启动,就要封装SVN Server为windws service,还要通过修改配置文件来控制用户权限,另外如果要想以Web方式【http协议】访问,一般还要安装配置Apache,如果是新手,岂不是很头痛?而VisualSVN Serve集成了Subversion和Apache,省去了以上所有的麻烦。安装的时候SVN Server已经封装为windws service,Apache服务器的配置也只是在图像界面上,指定认证方式、访问端口等简单操作;另外,用户权限的管理也是通过图像界面来配置。

2.为什么不用TFS?

回答:

因为我们一开始就是用Subversion和TortioseSVN,所以就没有更换其他的软件。至于TFS至今没有用过,其实,我只是看了一些的文章而已,对它也不了解。

3.VisualSVN Server是免费的吗?

回答:

是的,VisualSVN Server是免费的,而VisualSVN是收费的。VisualSVN是SVN的客户端,和Visual Studio集成在一起, VisualSvn Server是SVN的服务器端,包括Subversion、Apache和用户及权限管理,优点在上面已经说过了。

 

好了,言归正传,正式开始我们今天的教程。

 

一、VisualSVN Server的配置和使用方法【服务器端】

安装好VisualSVN Server后【安装过程看这里】,运行VisualSVN Server Manger,下面是启动界面:

 

好的,下面我来添加一个代码库【Repository】,如下图:

按上图所示,创建新的代码库,在下图所示的文本框中输入代码库名称:

 

注意:上图中的CheckBox如果选中,则在代码库StartKit下面会创建trunk、branches、tags三个子目录;不选中,则只创建空的代码库StartKit。

点击OK按钮,代码库就创建成功了。

创建完代码库后,没有任何内容在里面。我会在这个教程的第二部分说明如何迁入源代码。

下面,我们开始安全性设置,在左侧的Users上点击右键:

 

输入上面的信息,点击OK,我们就创建一个用户了。按照上面的过程,分别添加用户Developer1、tester1、manager1,好了,我们开始添加这些用户到我们刚才创建的项目里:

点击上图中的"Add..."按钮,在下图中选择我们刚才添加的用户,点击OK按钮:

说明:大家可能注意到了下图中的Groups,是的,你也可以先创建组,把用户添加到各个组中,然后对组进行授权,操作比较简单,在此略过。

按照下图所示,分别对用户【或组】进行授权:

点击"确定"按钮,上面的用户就具有了访问StartKit代码库的不同权限。

因为用户starter在团队中是新来者,不希望他向代码库中提交新代码,所以他只能读取代码库中的代码,不能提交代码。tester1是测试人员,不负责代码编写,所以也是只读权限。而Developer1和manager1是开发人员和项目经理,自然具有读、写的权限。

在实际的项目开发过程中,Developer和tester往往不可能只有一个人,这时候使用组来授权更加方便,这个大家可以自己练习一下。

二、TotoiseSVN的基本使用方法

 

在 项目管理实践教程一、工欲善其事,必先利其器【Basic Tools】中,我已经讲解了怎样安装TortoiseSVN。在上面的讲解中已经讲了怎么使用VisualSVN Server了,今天我要讲的是,TortoiseSVN的简单使用方法。

一、签入源代码到SVN服务器

假如我们使用Visual Studio在文件夹StartKit中创建了一个项目,我们要把这个项目的源代码签入到SVN Server上的代码库中里,首先右键点击StartKit文件夹,这时候的右键菜单如下图所示:

图2-2-1

点击Import,弹出下面的窗体,其中http://zt.net.henu.edu.cn 是服务器名,svn是代码仓库的根目录,StartKit是我们在上个教程中添加的一个代码库:

说明:左下角的CheckBox,在第一次签入源代码时没有用,但是,在以后你提交代码的时候是非常有用的。

图2-2-2

点击OK按钮,会弹出下面的窗体,要求输入凭据:

图2-2-3

在上面的窗体中输入用户名和密码,点击OK按钮:

图2-2-4

如上图所示,好了,源代码已经成功签入SVN服务器了。这时候团队成员就可以迁出SVN服务器上的源代码到自己的机器了。

二、签出源代码到本机

在本机创建文件夹StartKit,右键点击Checkout,弹出如下图的窗体:

图2-2-5

在上图中URL of Repository:下的文本框中输入svn server中的代码库的地址,其他默认,点击OK按钮,就开始签出源代码了。

说明:上图中的Checkout Depth,有4个选项,分别是迁出全部、只签出下一级子目录和文件、只签出文件、只签出空项目,默认的是第一项。上面的例子中,我们也可以使用web的方式访问代码库,在浏览器中输入http://zt.net.henu.edu.cn/svn/StartKit/

这时候也会弹出对话框,要求输入用户名和密码,通过验证后即可浏览代码库中的内容。

 

搞定!源代码已经成功签出到刚才新建的StartKit目录中。

打开StartKit目录,可以看到如下图的文件夹结构:

图2-2-5

一旦你对文件或文件夹做了任何修改,那么文件或文件夹的显示图片机会发生变化。下图中我修改了其中的二个文件:

图2-2-7

大家看一下不同状态所对应的图片:

图2-2-8

我们已经知道怎么将源代码签入到SVN服务器,怎么从服务器签出代码到本机,也简单了解了不同状态所对应的图案啦。

三、提交修改过的文件到SVN服务器

上面的图2-2-7中,我修改了位于Model文件中的二个文件ImageInfo.cs和NewsInfo.cs,下面演示如何提交到SVN服务器。

注意:提交源代码到服务器时,一定确保本机的代码是最新版本,否则可能提交失败,或者造成版本冲突。

在Model文件夹上点击右键或在Model文件下的空白处点击右键,点击SVN Commit…弹出下面的窗体:

图2-2-9

点击OK按钮后,弹出如下图的窗体:

图2-2-10

四、添加新文件到SVN服务器

我们在Model文件下添加一个新的类文件UserInfo.cs,在Model文件下的空白处点击右键,点击SVN Commit…,和上面讲的提交修改过的文件到SVN服务器一样,就可以了。

另外也可以在文件UserInfo.cs上点击右键,点击TortoiseSVN=>>Add,弹出如下图的窗体:

图2-2-11

选中UserInfo.cs文件,点击OK按钮,这样并没有将这个文件提交到SVN服务器,只是将这个文件标记为源代码库库中的文件,并将其状态置为修改状态。之后,我们要再SVN Commit这个文件一次,才可以将其真正提交到SVN服务器上的代码库中。

 

上面讲是添加文件,实际上,添加文件夹的步骤也是一样的,这里就不说了。

 

五、更新本机代码与SVN服务器上最新的版本一致

这个也很简单,只要在需要更新的文件夹上点击右键或在该文件下的空白处点击右键,点击SVN Update,就可以了。

注意:更新操作可能会因为版本冲突而失败,这是可以使用合并【Merge】或其他方法解决;也可能因为锁定【Get Lock】而失败,这是需要先解锁【Release Lock】。

六、重命名文件或文件夹,并将修改提交到SVN服务器

只要在需要重命名的文件或文件夹上点击右键,点击TortiseSVN=>>Rename…,在弹出的窗体中输入新名称,点击OK按钮,就可以了。此方法也不是直接重命名,而是将该文件或文件夹的名称标记为重命名后名称,也需要我们使用SVN Commit提交到SVN服务器后才真正重命名。

七、删除文件或文件夹,并将修改提交到SVN服务器

最简单就是,你直接删除文件或文件夹,然后使用SVN Commit提交更新到SVN服务器。另外一种方法是在你要删除的文件或文件夹上点击右键=>>TortoiseSVN=>>Delete删除,此方法也不是直接删除,而是将该文件或文件夹的状态置为删除,也需要我们使用SVN Commit提交到SVN服务器后才真正删除。

说明:实际上,从你把源代码迁签入SVN服务器开始,每一个版本的数据和文件,就算是你已经删除了的,也都可以随时迁出。

以上只是TortoiseSVN最简单的几个功能,其实他的功能远不止这些,其他的功能大家可以在使用的过程中慢慢体会,有些功能我会在下面的教程中使用到,到时候会和大家讲清楚用法。

 注意:向SVN服务器提交源代码的时候,一定不要提交bin、obj等文件夹,否则会很麻烦。但是web项目的bin目录除外,但是web项目的bin目录中的引用其他项目而生成的dll不需要提交。

一个好习惯:如果项目中引用了其他的第三方的程序集,比如EnterpriseLibrary、FCKEditor等,这时候不要简单从他们的安装位置引用,而是在你的解决方案下,添加一个Library的目录,把需要的程序集复制到这里,然后从Library目录引用,这样有什么好处,自己想一想吧!

如果大家有什么问题,尽管跟帖提问,我一定及时回答。

好了,今天就先写到这里吧,本来说这部分准备写一篇Blog,可是现在写了这么长,还只是说了一点很基本的东西而已,呵呵……

如果你对我讲解的这些内容不熟悉,建议你从头开始看这个系列的教程:项目管理实践系列教程。


其他文章推荐项目管理实践系列教程
Visual Studio 2008中如何比较二个数据库的架构【Schema】和数据【Data】并同步


作者:Forrest Zhang(http://www.anycoders.com)
出处:http://ttzhang.cnblogs.com/
文章版权归博客园和本人共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出作者名称和原文连接,否则保留追究法律责任的权利。

Tag标签: TortoiseSVN,Source Control,Subversion,VisualSVN Server,版本控制 上不了岸的鱼
关注 - 158
粉丝 - 38
荣誉:微软社区精英 关注博主 1 0 0 (请您对文章做出评价) « 上一篇:项目管理实践教程一、工欲善其事,必先利其器【Basic Tools】
» 下一篇:项目管理实践【三】每日构建【Daily Build Using CruiseControl.NET and MSBuild】
 posted on 2008-11-06 00:53 上不了岸的鱼 阅读(11817) 评论(87) 编辑 收藏 所属分类: Project Management
评论 1672529 #1楼   回复 引用 查看     鹰击长空       | 2008-11-04 08:18 继续关注
#2楼   回复 引用 查看     Ivan-Yan       | 2008-11-04 08:24 是不是说安装了VisualSVN Server
就不用安装Apache了??
#3楼   回复 引用 查看     Astar       | 2008-11-04 08:24 学习了
#4楼   回复 引用 查看     G yc {Son of VB.NET}       | 2008-11-04 09:54 --引用--------------------------------------------------
Ivan-Yan: 是不是说安装了
就不用安装Apache了??
--------------------------------------------------------
不是的,除了官方的原版以外, 其他的修改版,一般都集成 Apache 修改版(增加了显示插件), VisualSVN Server也是集成相应的插件。
如果没有集成的话, 就无法通过HTTP访问
#5楼   回复 引用     Ariex[未注册用户] | 2008-11-04 10:03 server原来是免费的啊……
#6楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2008-11-04 10:14 @鹰击长空
谢谢关注!
#7楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2008-11-04 10:14 @Ivan-Yan
是的,集成Apache,而且没有复杂配置。
#8楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2008-11-04 10:14 @Astar
谢谢关注!
#9楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2008-11-04 10:16 --引用--------------------------------------------------
G yc {Son of VB.NET}: --引用--------------------------------------------------
Ivan-Yan: 是不是说安装了
就不用安装Apache了??
--------------------------------------------------------
不是的,除了官方的原版以外, 其他的修改版,一般都集成 Apache 修改版(增加了显示插件), VisualSVN Server也是集成相应的插件。
如果没有集成的话, 就无法通过HTTP访问
--------------------------------------------------------
不用安装,已经集成了Apache和Subversion,而且图图形化界面操作。
#10楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2008-11-04 10:16 @Ariex
感谢您的关注!
#11楼   回复 引用 查看     张岚       | 2008-11-04 11:27 和vss操作差不多,只不过有些差别而已
#12楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2008-11-04 11:31 @张岚
是的,其实很多Version Control软件都很类似,谢谢您的关注!
#13楼   回复 引用     -阿培[未注册用户] | 2008-11-04 12:02 我在你的blog里下了这个visualsvn,怎么没找到新建users这个的菜单呢?请指教
#14楼   回复 引用     -阿培[未注册用户] | 2008-11-04 12:05 难道一定是要装在server的机器上面吗?我是用自己的xp作为服务器又作为客户端的。
#15楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2008-11-04 12:07 @-阿培
呵呵...
我用到的VisualSVN Server,它才有users,不是VisualSVN,这个是客户端的,直接可以和Visual Studio集成在一起。
#16楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2008-11-04 12:11 @-阿培
这样的当然可以啊
#17楼   回复 引用     -阿培[未注册用户] | 2008-11-04 12:13 我用的VisualSVN Server啊,而且是1.61版本的啊,可是就是没有找到user 啊?

#18楼   回复 引用     -阿培[未注册用户] | 2008-11-04 13:48 我找到了,呵呵,期待你的下一篇吧!~
#19楼   回复 引用 查看     周银辉       | 2008-11-04 15:05 SVN很不错哈,不过对于较复杂的SCM活动,其功能还是相对较弱
#20楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2008-11-04 15:16 @-阿培
谢谢关注!
#21楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2008-11-04 15:18 @周银辉
SVN更新比也较快,很多新的功能正在增加,一般的开发过程够用了
#22楼   回复 引用 查看     油纸伞       | 2008-11-05 09:44 VisualSVN Server有最大访问连接数的限制吗?我们用的VSS安装在XP系统上了,当10多个人一起连,就出现超过最大XP的连接数问题,VisualSVN Server能解决这个问题吗?
#23楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2008-11-05 12:51 @油纸伞
这个是XP系统的限制,http连接默认同时只能有十个,可以使用迅雷、pplive等软件破解。
#24楼   回复 引用     小灰1[未注册用户] | 2008-11-06 07:55 这里有个免费的SVN服务器,大家可以测试下看看:
svn://svnhost.cn/test用户名:svnhost密码:svnhost
#25楼   回复 引用 查看     masterfy       | 2008-11-06 09:05 我觉得还是TFS用得比较习惯
#26楼   回复 引用     sail[未注册用户] | 2008-11-06 09:37 svn 刚开始 还是听做c++ 的朋友说起的
我们是vss
#27楼   回复 引用 查看     恋恋风尘       | 2008-11-06 10:05 关注,建议楼主加快写blog的速度
#28楼   回复 引用     Ariex[未注册用户] | 2008-11-06 10:32 嗯,关注,偶是懒虫,喜欢看图文并茂的东东~
svn在apache下表现很好,在IIS下似乎就少了一些什么东西(html管理界面?忘记了)
其实IIS下svn配置也不是很麻烦,可能是因为我没涉及到权限的东西吧……汗一个……以前在flex里连接到本地的svn还是很爽的,唯一遗憾的是eclipse太慢了……flex启动后内存占用有赶超wow之势……
#29楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2008-11-06 10:39 @小灰1
免费的svn服务器很多哦,比如googleCode、sourceforge、codeplex等等
#30楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2008-11-06 10:40 @jannock
@sail
谢谢关注!
#31楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2008-11-06 10:41 @masterfy
个人习惯而已,因为我们在开发中一直使用SVN,所以对这个比较熟悉,TFS我们也没有使用过,呵呵...
#32楼   回复 引用     -阿培[未注册用户] | 2008-11-06 10:42 我刚才作了测试,我有个疑问就是,这个我每作一次更改后的版本的话,那这个svn里只有一个最新的版本对吗》它不是以一个一个文件夹保存的吗?如果我发现新上传的版本里的东西不是很好,我想找到以前的版本,请问这个时候该作如何处理?谢谢
#33楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2008-11-06 10:45 @恋恋风尘
谢谢关注!
是啊,确实写得有点慢,因为最近有一个项目在做,所以只能晚上10点以后写Blog,实在抱歉!
#34楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2008-11-06 10:47 @Ariex
谢谢您的关注!在IIS下我倒是没有配置过,嘿嘿...
#35楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2008-11-06 10:58 --引用--------------------------------------------------
-阿培: 我刚才作了测试,我有个疑问就是,这个我每作一次更改后的版本的话,那这个svn里只有一个最新的版本对吗》它不是以一个一个文件夹保存的吗?如果我发现新上传的版本里的东西不是很好,我想找到以前的版本,请问这个时候该作如何处理?谢谢
--------------------------------------------------------
不是只有一个最新版本的,它会记录你提交的所有版本的信息和数据。比如你上传之后的版本是1011,但是你发现在这个版本有问题,你想迁回到1010版本,这时候,你可以在项目文件夹下右键点击空白处,点击TortoiseSVN=>>Revert...,只时候会弹出一个窗体,你只需要选择需要恢复的文件,点击OK即可。或者项目文件夹下右键点击空白处TortoiseSVN=>>Show Log,这时候会弹出一个窗体,你只需要在想要迁回的版本的日志记录上右键点击=>>Revert to this version即可。其实还有其他方法,您可以在使用过程中慢慢体会。
#36楼   回复 引用 查看     陈锋       | 2008-11-06 15:37 跟.net继承的客户端做得还不错。
服务器端还是直接用subversion的好,要想把svn管理好,服务器端的手工配置方法和命令行不掌握是不行的,而且很多单位要求svn服务器的操作系统用linux。而且最新的subversion安装包已经自带apache和windows service配置工具了,非常方便。
另外,借你的宝地推销一下我写的svn的文章,多谢了。
#37楼   回复 引用 查看     战刀       | 2008-11-06 15:38 不错啊,继续关注,楼主看似很忙啊,注意身体哦
#38楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2008-11-06 16:20 @陈锋
谢谢关注,希望以后可以和您多多交流!
#39楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2008-11-06 16:21 @战刀
谢谢兄弟关心,一起努力,马上毕业了,争取找个好点的工作!
#40楼   回复 引用 查看     5207       | 2008-11-06 20:03 现在我们也在用svn,感觉还不错。
#41楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2008-11-06 20:04 @5207
谢谢您的关注!
#42楼   回复 引用 查看     Jonny Yu       | 2008-11-07 00:00 没用过svn,但是用过Perforce, 觉得perforce里面每次提交改动的时所有更新的文件都会属于一个changelist, 这样可以根据changelist来回滚,不知道svn是不是也有类似的"一次提交文件的集合"的概念?
#43楼   回复 引用 查看     560889223       | 2008-11-07 10:40 问个问题:
在提交前一般都会把本地的WorkingCopy更新为服务器上的Head Revision,但是这个操作是使用“svn update”完成吗?使用了svn update后会不会覆盖之前对本地WorkingCopy所作的修改?
#44楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2008-11-07 11:04 @Jonny Yu
没有用过perforce,不过从你的描述来看,SVN的原理要比它更好。SVN每次提交不是把更新的文件放到一个changelist,而是所有的文件。SVN的版本库从开始到最后,类似一个树结构,每个版本就是一个分支。
#45楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2008-11-07 11:09 @560889223
这个你不用担心,不会发生这样的情况,如果本地作了修改,SVN Update的时候是先从服务器Copy最新的版本,然后和本地文件合并。除非你上次Update某个文件后,别人再次提交了这个文件,而你现在也修改了这个文件中的相同部分,这时候Update会发生冲突,这时候,你需要编辑后在提交。而在团队开发中,因为每个人有不同的分工,所以这种情况很少发生。
#46楼   回复 引用 查看     560889223       | 2008-11-07 11:11 @上不了岸的鱼{ttzhang}
Thanks。我刚刚在本地简单地测试了一下,确实如此。
#47楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2008-11-07 11:14 @560889223
不客气,以后多多交流!
#48楼   回复 引用     上不了鱼的岸[未注册用户] | 2008-11-07 19:56 请教下为何用了visualSvn Server,切出项目之后

东西都是只读的?


以前用SVN的时候好像不是这样的
#49楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2008-11-07 20:20 @上不了鱼的岸
我没有遇到过这种情况,你可以检查下,你用的用户是否只有ReadOnly权限。啊?

#50楼   回复 引用     上不了鱼的岸[未注册用户] | 2008-11-07 20:24 我是本地目录文件是只读的

更改文件属性后,操作SVN什么的都正常

不过每次都要改也太麻烦了吧
#51楼   回复 引用     zoyo929[未注册用户] | 2008-11-19 10:19 你说如果提交了 “bin、obj等文件夹”会很麻烦,能具体说明吗,一般情况下都是批量提交,所以是不是BIN或执行文件就不管了

能否通过设置禁止你说的这些文件或目录不提交?
#52楼   回复 引用 查看     G yc {Son of VB.NET}       | 2008-11-19 12:08 --引用--------------------------------------------------
zoyo929: 你说如果提交了 “bin、obj等文件夹”会很麻烦,能具体说明吗,一般情况下都是批量提交,所以是不是BIN或执行文件就不管了

能否通过设置禁止你说的这些文件或目录不提交?
--------------------------------------------------------
这个我遇到过
具体情况是,当你迁入后, 可以选择锁定文件,因此文件变得不可更改
然,在修改其中一个类的时候,签出了这个文件(一个,没有签出Bin等)
然后,修改完,等编译的之后,VS提示, 目标文件无法删除(修改,访问。。)
#53楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2008-11-19 12:20 @zoyo929
如果同时提交了bin、obj等文件夹,那么在集成到CCNET做自动编译的时候,就可能会出现编译失败,因为这样会造成潜在的版本冲突的危险,而bin和obj会在编译时自动生成,所以不提交不会有什么影响。但是web项目的bin目录除外。
你可以在提交代码的时候不选择bin、obj文件夹,如果您已经提交,那么可以按我的文章中的讲述,删除svn上已经提交的这些文件夹,然后,在本地的这些文件夹上右键点击,选择TortoiseSVN=》Add to ignore list,就可以了。另外,你也可以在提交代码到svn服务器的时候忽略提交这些文件或/和目录,当你Commit后,在弹出的窗体中,选择要忽略的文件和文件夹,可以多选,如果选择的这些文件或文件夹还没有提交到SVN,那么就右键=》Add to ignore list;如果是之前已经提交到SVN了,那么就右键=》ignore items on commit,这样就可以了。
不知道这对您有没有帮助。
#54楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2008-11-19 12:23 @G yc {Son of VB.NET}
另外一种情况是,版本bin目录这的文件的版本冲突时,这时候也会出错,如果不提交就不会有这问题,而且对整个项目也不会有任何影响。
#55楼   回复 引用 查看     Nicholas Yuen       | 2009-01-02 15:09 谢谢。很实用!
:)
#56楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2009-01-02 18:49 也谢谢您的关注!
#57楼   回复 引用     shiqin[未注册用户] | 2009-01-13 20:10 谢谢~我见过的最好的教程!
还有一个问题想请教:我们公司用的是windows域帐号集成帐号,权限经常出问题,在服务器端看明明是设置的很正确的,可是用户就是没有权限进行一些操作,有这类问题相关的文章吗?
谢谢!
#58楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2009-01-14 18:14 这个我也不清楚,我们这里是单独管理,没有和WINDOWS域账户集成,所以没有遇到过您这样的问题,建议您阅读一下Subversion的官方文档和Windows域账户权限设置方面的文章。
#59楼   回复 引用     vvv[未注册用户] | 2009-02-02 17:23 "创建trunk、branches、tags三个子目录"
请问创建和不创建这三个文件夹有什么区别吗?
#60楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2009-02-02 18:11 @vvv
你可以认为没有任何区别,不创建就可以完全按照自己的意愿来组织文件,创建就使用推荐的结构来组织文件。
trunk默认存放源代码、branches存放创建的分支代码、tags存放标记标签的代码
#61楼   回复 引用     小凯子[未注册用户] | 2009-02-02 19:45 感谢。
#62楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2009-02-06 13:03 @小凯子
不客气哈
#63楼   回复 引用 查看     黄亭       | 2009-02-18 11:31 不错,正好用上,楼主可不可以写深入点... 呵呵
或者 提供点这方面的资料
#64楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2009-02-18 12:33 @黄亭
呵呵,最近是没有时间写了,不过网上有很多这方面的资料,你可以参考一下。而且我觉得,一般开发过程中使用这些基本的功能也就够了,稍微联系一下就会熟悉了
#65楼   回复 引用     jessieya | 2009-03-12 15:44 你好,我是一名配置管理员,刚刚接触SVN,觉得你写的内容清晰实用,非常感谢。但是由于我之前只使用过VSS进行版本控制,不知道在SVN中建立基线时,打标签的动作是如何进行的,例如在VSS中是只要对目标点右键添加tag就行了。能否请您指点一二,谢谢。
#66楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2009-03-12 18:32 说实话这个功能我用的也不多,一般在项目开发到一个里程碑或发布新版本的时候才会使用,不过感觉大致和VSS一样,直接对目标点击右键TortoiseSVN=》Branch/tag...,如下图:


点击后,弹出如下图所示的窗体,在下图所示的窗体中填写必要的信息后,点击OK应该就可以了。最好参考一下官方的文档对这一部分的说明。

#67楼   回复 引用     jessieya[未注册用户] | 2009-03-17 16:57 没想到这么快就得到回复,非常谢谢博主,我已经大致了解了这个功能的使用方法了,其实就是版本快照,只不过在tag目录下是以文件夹的方式展现的。
#68楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2009-03-18 09:00 @jessieya
不用客气,以后有机会多多交流,呵呵
#69楼   回复 引用     pie[未注册用户] | 2009-03-18 16:12 非常好的文章啦,非常感谢,现在装了试验一下,不知道只签出一个文件用哪个命令啊。
#70楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2009-03-19 10:14 呵呵,谢谢关注!
迁出一个文件很和迁出项目一样,只是把项目路径改成文件路径就OK了
#71楼   回复 引用     songmc | 2009-04-18 13:41 很好的文章。。谢谢楼主的辛苦工作。。初用svn,请教一个比较初级的问题,就是web应用程序,web层里bin里编译后生成的dll和xml文件(非引用其他项目生成的,是引用第三方dll生成的,例如微软企业库)是否应该提交到服务器呢? 非常感谢
#72楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2009-04-19 18:43 首次提交代码的时候,需要提交,以后提交就可以忽略了
#73楼   回复 引用     xuelieli[未注册用户] | 2009-05-06 15:41 @-阿培
呵呵,我也遇到跟你一样的问题呢,那个users菜单是怎么找到的啊?
#74楼   回复 引用     xuelieli[未注册用户] | 2009-05-06 16:26 安装完成后,开始->程序->VisualSVN Server Manger 提示拒绝访问;是不是安装过程漏掉了什么啊?
#75楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2009-05-06 16:29 --引用--------------------------------------------------
xuelieli: @-阿培
呵呵,我也遇到跟你一样的问题呢,那个users菜单是怎么找到的啊?
--------------------------------------------------------
呵呵,我想您没有仔细看我的文章
#76楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2009-05-06 16:30 --引用--------------------------------------------------
xuelieli: 安装完成后,开始->程序->VisualSVN Server Manger 提示拒绝访问;是不是安装过程漏掉了什么啊?
--------------------------------------------------------
我安装过很多次,都没有遇见您的情况,您的操作系统是什么?
#77楼   回复 引用     xuelieli[未注册用户] | 2009-05-06 16:39 xp 啊;
安装完成后,自动弹出运行VisualSVN Server界面,也可以操作。我还建了两个库,两个用户;但是推出后,再从“开始->程序->VisualSVN Server Manger 就不行了,提示拒绝访问
#78楼   回复 引用     xuelieli[未注册用户] | 2009-05-07 10:48 呵呵,找到原因了。
VisualSVN Server是通过mmc格式打开的,可能被防火墙阻挡了。
更改VisualSVN Server属性中的目标:
C:\WINDOWS\system32\mmc.exe "D:\Tool\SVN\subversion\test1\code\bin\VisualSVN Server.msc"
#79楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2009-05-07 17:19 @xuelieli
应该就是这个原因,我一直都不用防火墙,真的没有遇到过这样的情况。
多谢分享解决方案。
#80楼   回复 引用     xuelieli[未注册用户] | 2009-05-11 14:03 请问,我用totoisesvn工具,输入代码库URL地址时都是用http://……访问,我要用svn://……访问不行,要怎样才可以呢?这两种访问方式有什么不同吗?访问速度有什么不同吗?
#81楼   回复 引用     xuelieli[未注册用户] | 2009-05-13 13:30 怎么都没人回复我啊??
#82楼[楼主]   回复 引用 查看     上不了岸的鱼{ttzhang}       | 2009-05-14 15:23 --引用--------------------------------------------------
xuelieli: 请问,我用totoisesvn工具,输入代码库URL地址时都是用http://……访问,我要用svn://……访问不行,要怎样才可以呢?这两种访问方式有什么不同吗?访问速度有什么不同吗?
--------------------------------------------------------
因为使用Apache做服务器使用的是http协议,如果不使用Apache,那么就会使用subversion自己的svn协议,svn协议也是基于http协议实现的,其他具体的信息就不太了解了
#83楼   回复 引用     tyonger[未注册用户] | 2009-06-19 15:27 你好,请问你用啥工具处理截图的?
#84楼   回复 引用 查看     肖弘       | 2009-07-13 16:55 很好。受教了。
#85楼   回复 引用 查看     菜鸟_小强       | 2009-10-14 16:21 感谢楼主分享!~
我有个问题是这样的:一、签入源代码到SVN服务器
我想把我现在的项目的源代码导入到svn server管理

但是我不知道怎么到啊
就是我不知道怎么把源代码放进去啊

是在svn server里的版本库Repositories里导入还是在那里啊??

#86楼[楼主]   回复 引用 查看     上不了岸的鱼       | 2009-10-14 17:32 @菜鸟_小强
你需要安装客户端软件TortoiseSVN,然后通过Import命令将源代码迁入到服务器端,也就是在VisualSVN Server中创建的Repository中。
引用tyonger:你好,请问你用啥工具处理截图的?

Snagit
引用肖弘:很好。受教了。

谢谢!:)
#87楼   回复 引用 查看     菜鸟_小强       | 2009-10-15 16:47 @tyonger
你好,请问你用啥工具处理截图的?
答:
兄弟QQ聊天工具上就有这效果,如果不清楚可以叫我的qq502117546
知无不言。。。。
注册用户登录后才能发表评论,请 登录 或 注册,返回博客园首页。 IT新闻:
· 李开复:国内移动互联网用户未来5年将增1倍
· Intel 6系列原厂主板将自带USB 3.0控制器
· 《互联网周刊》封面故事:模仿者
· 美国发展最快职业榜:软件工程师排第三
· 电驴诞生10周年 eD2k老而弥坚
更多IT新闻... 知识库最新文章:
多样化实现Windows Phone 7本地数据库访问<上>
多样化实现Windows Phone 7本地数据库访问<下>
用MSBuild自动发布Silverlight xap
网格数据库架构设计构想
ORM映射框架总结--数据库操作库(精修版)
网站导航:
博客园首页  IT新闻  个人主页  闪存  程序员招聘  社区  博问
China-pub 计算机图书网上专卖店!6.5万品种2-8折!
China-Pub 计算机绝版图书按需印刷服务

相关搜索:
TortoiseSVN Source Control Subversion VisualSVN Server 版本控制 Project Management
最简洁阅读版式:
项目管理实践教程二、源代码控制【Source Control Using VisualSVN Server and TortoiseSVN】

公告

比目商城

日本原装商品直递,体验原汁原味!
Copyright 本Blog所有内容,若无特殊说明,均为原创。转载请注明作者、出处,且必须保证内容完整!谢谢!
Contact Me Mail: QQ: 消息: 发送站内短消息
Daily English [9.6] Since then, Ellen has been stuck playing catch-up to the ... 自那?... [9.06]每日一句: We are still selling more of our stock control software than any of our competitors. 我们的股票控制软件卖得比其它对手都好。 Hey, who left their socks on my bed? 嗨,谁... 短信订阅
My Music Box
Subscribe Rss










Blog Counter From 10-31-2008

Latest IT News
  • 李开复:国内移动互联网用户未来5年将增1倍 1小时前
  • Intel 6系列原厂主板将自带USB 3.0控制器 1小时前
  • 《互联网周刊》封面故事:模仿者 1小时前
  • 美国发展最快职业榜:软件工程师排第三 2小时前
  • 电驴诞生10周年 eD2k老而弥坚 2小时前
粉丝 - 38
关注 - 158
我的主页  个人资料
我的闪存  发短消息

最新闪存

  • 关于房价,我只能说开发商很无赖,炒房者很无德,银行很无耻,政府很无能,现实很无奈,我很无语! 06-21 14:24
  • 招聘php开发工程师job.cnblogs.com/offer/7089 05-06 10:39
  • 最近频繁死机…… 05-06 10:37
  • 招聘php开发工程师job.cnblogs.com... 05-05 11:15
  • 招聘php开发工程师job.cnblogs.com... 05-04 20:08
  • 更多闪存...

搜索

   

常用链接

  • 我的随笔
  • 我的空间
  • 我的短信
  • 我的评论
  • 更多链接
  • 我的文章
  • 我的参与
  • 最新评论
  • 我的标签

我参与的团队

  • .NET新手training活动(0/0)
  • .Net 商业智能(0/0)
  • 郑州.NET俱乐部(0/0)
  • WCF技术研究团队(0/0)
  • 大学生联盟(0/0)
  • 搜索引擎研究团队(0/0)
  • 微软社区精英(0/0)
  • 河南DotNet俱乐部(0/0)

我的标签

  • CruiseControl.NET(4)
  • TortoiseSVN(4)
  • MSBuild(4)
  • Visual Studio(4)
  • Source Control(3)
  • Project Management(3)
  • trac(2)
  • bugnet(2)
  • bug management(2)
  • 缺陷管理(2)
  • 更多

随笔分类(20)

Project Management(8) Silverlight 2.0 正式版(1) Visual Studio(6) Windows System(5)

随笔档案(18)

2010年8月 (1) 2010年4月 (2) 2008年12月 (3) 2008年11月 (9) 2008年10月 (3)

常用网站

比目商城
  • 中国和日本之间最大的跨国网上商城 电书下载 中文爱百科
  • 可信赖的中文百科全书
  • 好友博客

    葛进军
  • zhan dao blog 专注于技术 何婧
  • 跟不上时代的潮流 立民讲堂 王世超
  • 唐伯虎要出家了 张胆
  • Sun moon one 张蒙蒙
  • LoveBaoBao??? 钟代麒
  • 钟代麒逛园子专用博客
  • 技术网站

    ASP.NET
  • ASP.NET官网 Channel8
  • Channel8 Code Plex
  • Open Source Project Hosting MSDN
  • MSDN ScottGu's Blog
  • ScottGu's Blog SilverLight
  • SilverLight官网 WindowsClient
  • Windows Forms and WPF
  • 最新随笔

    • 1. Improve your jQuery - 25 excellent tips[转载]
    • 2. IIS7.0通过FastCGI方式运行PHP遇到的一些问题及解决方法
    • 3. Microsoft FTP7.5 For IIS7.x使用中的一些问题及解决方法
    • 4. Enterprise Continuous Integration with Binary Dependencies example
    • 5. Setting up from scratch Part 01
    • 6. 关于近日园子里“译书风波”一点个人看法
    • 7. 50个极为有用和强大的CSS工具
    • 8. 7个更好的Windows常用程序替代软件
    • 9. 项目管理实践【四】Bug跟踪管理【Bug Trace and Management】
    • 10. 大家看下我的简历,给我一些建议
    • 11. C#实现ADSL拨号功能及扩展

    积分与排名

    • 积分 - 133087
    • 排名 - 588

    最新评论

    • 1. Re:项目管理实践【三】每日构建【Daily Build Using CruiseControl.NET and MSBuild】
    • @Palmer 比如你在CCNET中迁入了一个网站StartKit,那么地址就是下面的URL: 把SVN项目放进去,需要在CCNET的配置文件中指定SVN账号、密码以及要迁入的项目,请参考我上面的C...
    • --上不了岸的鱼
    • 2. Re:项目管理实践【三】每日构建【Daily Build Using CruiseControl.NET and MSBuild】
    • @上不了岸的鱼嗯,先谢谢LZ回复。那那个WebDashboard是自己先配好的不?在这个目录下有一个WebDashboard文件夹,怎么把SVN项目放进去呢?
    • --Palmer
    • 3. Re:项目管理实践【三】每日构建【Daily Build Using CruiseControl.NET and MSBuild】
    • @Palmer 项目在WebDashboard中的地址
    • --上不了岸的鱼
    • 4. Re:项目管理实践【三】每日构建【Daily Build Using CruiseControl.NET and MSBuild】
    • 您好,我想问一下
    • --Palmer
    • 5. Re:使用RDP时发生AtBroker.exe error的解决方法
    • 谢谢你的方法。我是用Ctrl+Alt+End,调出任务管理器后桌面就出来了。
    • --Mandrake

    阅读排行榜

    • 1. 项目管理实践教程一、工欲善其事,必先利其器【Basic Tools】(12250)
    • 2. 项目管理实践教程二、源代码控制【Source Control Using VisualSVN Server and TortoiseSVN】(11817)
    • 3. 项目管理实践教程(8638)
    • 4. 项目管理实践【三】每日构建【Daily Build Using CruiseControl.NET and MSBuild】(6865)
    • 5. 项目管理实践【五】自动编译和发布网站【Using Visual Studio with Source Control System to build and publish website automatically】(4420)

    评论排行榜

    • 1. 项目管理实践教程二、源代码控制【Source Control Using VisualSVN Server and TortoiseSVN】(87)
    • 2. 项目管理实践教程(50)
    • 3. 项目管理实践教程一、工欲善其事,必先利其器【Basic Tools】(44)
    • 4. 关于近日园子里“译书风波”一点个人看法(29)
    • 5. 项目管理实践【三】每日构建【Daily Build Using CruiseControl.NET and MSBuild】(20)
    Copyright ©2010 上不了岸的鱼