TortoiseSVN 日常操作指南(6)

2019-03-29 16:39

图4.15. 日志窗口

有很多个地方可以调出这个日志窗口: 1. 从TortoiseSVN的菜单。 2. 从文件的属性页。

3. 完成update操作之后的窗口。这个窗口将只显示自上次更新以来有过的版本。

4.15.2. Getting Additional Information

图4.16. 日志窗口顶部窗格的右键菜单

顶部窗格中的右键菜单功能如下:

1. Compare with working copy 对选中版本与本地副本进行比较。默认的比较工具是TSVN提供的TortoiseMerge。如果是某个目录的日志,就会显示有改动文件的列表,接下来可以选择单个文件进行改动查看。

2. Show Differences as Unified Diff 在一个文件里面显示所有的改动。这个操作比上面那个调用外部的比较查看器要快多了,因为TSVN只需要拿到不同,而不再需要获取所有的文件。

3. 保存选中版本为一个文件,这样就可以得到这个文件的一个老版本了。这个选项只有当你选中的版本中只有一个文件被改动时才有效。

4. Browse Repository打开仓库浏览器,检查选中的目录。这个选项只有当日志只有一个目录时才有效。

5. Create tag from Revision 从选中版本创建branch或tag。这个功能很有用的。比如当你忘记创建一个tag而已经提交了一些改动,但这些改动你又不想包含到那个版本中去时。

6. 更新工作副本到选中版本。当想把工作副本回复到以前的某个状态,这个选项是很有用的。最好是更新整个目录而不是只更新一个文件,否则你的工作副本就会不一致,而且你也将没办法提交任何改动。

7. 恢复改动到选中版本。这个操作对仓库没有一点影响,只会在本地副本中进行改动的恢复。注意,它只取消那个版本的所有改动,没有用老版本的整个文件来替换你的副本。这在要取消一个以前的改动时很有用。

8. 检索日志信息。这个功能可以在输入的日志信息和Subversion创建的动作摘要中进行查找。注意:大小写是不敏感的。 图4.17. 顶部窗格中选中2个文件时的菜单

如果你一次选中两个版本,菜单就会只剩下三个选项了:

1. 用可视化工具来比较选中的2个版本。默认的比较工具是TSVN提供的TMerge。这个功能只对文件有效,对目录没用。

2. 在一个文件中显示这2个版本的不同点。这个对文件和目录都有效。 3. 检索日志信息。和前面讲到的一样。 图4.18. 底部窗格的菜单

底部窗格菜单的作用如下:

1. 查看选中文件在那个版本中所作的改动。这个菜单只有当文件为Modified时才有效。 2. 保存选中文件的相关版本。

3. 查看选中条目的Subversion属性。

4.15.3. Getting all log messages

日志窗口一般不会显示所有的日志的:

1. 对一个大型仓库来说,显示成千上万的改动需要花太多时间。正常情况下,开发人员只关注最近的修改。默认情况,最多会显示100条日志。你也可以在Settings中修改这个值(见第4.21节,“TortoiseSVN的设置”)。

2. 当查看一个branch或者tag的日志时,只会显示创建这个特定branch的目录到根的日志。这样的好处是不会显示多余的其他无关的日志信息。

注意这只对本地副本有效。如果使用仓库浏览器,日志信息会从分支的地方继续显示更多。 如果想得到所有日志,先回到版本1,再按Get All。

4.15.4. Changing the log message and author

有时候需要修改早先输入的日志,因为各种各样的原因,比如一个拼写错误,或者要改进一些说法等等。另外还有可能需要修改提交修改的作者,比如由于忘记设置认证等等原因。

Subversion允许任意的修改日志内容或版本作者。但这个功能默认是关闭的,因为这些修改是不能取消的(这些修改没有在版本控制之下)。要让这个功能起作用,必须先设置好

pre-revprop-change hook。关于如何设置的细节请查阅Subversion的Hook Scripts一节。关于如何在Windows环境如何实现hooks请阅读第3.5节“Repository Hooks”。 为服务器配置好必需的hooks之后,就可以修改每个版本的作者和日志内容了。用TSVN修改的方法是,在先按住SHIFT键,再用鼠标双击需要修改的作者或日志栏。如果没有按住SHIFT键,或没有点击在这2个栏上,那默认的双击动作(显示选中版本的区别)就会被执行了。 Warning

Because Subversion's revision properties are not versioned, making modifications to such a property (for example, the svn:log commit message property) will

overwrite the previous value of that property forever.

4.15.5. Statistical Information

按下统计按钮(Statistics)会显示一些关于修订版本的有趣信息。显示的内容包括,有多少作者在工作,他们提交了多少内容,每周的进展,等等。现在就可以知道谁在努力工作谁在偷懒了:)

注意,这个统计页面数据的范围和前一个界面里日志的范围是一样的。所以如果只是一个版本的日志,那这里的统计信息就不会有太大的意义了。 4.16. 分支/标记Branching / Tagging

版本控制的一个重要特性是能将变更隔离成独立的开发线路。这就是所谓的分支(branch)。分支常用来测试新功能,但又不会因为编译错误或BUG干扰开发主线。一旦分支稳定下来,就可以把分支合并(merge)回主线(the trunk)了。

版本控制的另一个特性是标记特殊版本(比如一个可以发布的版本),这样有利于在任何时候重新创建一个特定的build或开发环境。这就是所谓的标记(tagging)。

Subversion没有什么专门的命令来branching或者tagging,而使用cheap copies来代替。Cheap copies有点像links(译者注:就像windows系统的快捷方式),并没有真正的进行复制操作。

4.16.1. Creating a Branch or Tag

在从副本创建分支或标记前,最好先确保本地与仓库的版本一致。

如果你是按先前的推荐组织方式存放仓库的,那创建分支或标记会非常简单: 图4.19. 分支/标记

选中工作副本父目录,调出菜单,选择命令Branch/Tag。输入分支或标记的仓库路径URL。把原来输入的trunk 换成tags/tagname ,这里tagname 可能是ProjectName_v1.10. C:/SVNRepository/trunk/ProjectName/... C:/SVNRepository/trunk/AnotherProject/...

C:/SVNRepository/branches/ProjectName_SpecialDebugBuildBasedOn_v1.09/ C:/SVNRepository/tags/ProjectName_v1.10

按下OK钮,Subversion就在仓库中用指定的目录创建了一个cheap copy。创建分支或标记都不影响本地副本。

如果本地有没有提交的改动,TortoiseSVN会在创建标记时一起提交改动。

4.16.2. To Checkout or to Switch...

这是(不是真的)个问题。由于checkout会取出所有的数据,而switch只会传输修改的内容。Good for the network load, good for your patience. :-) 为了能够得到最新的副本进行工作,你可以:

1. 再次执行checkout。你可以任意次的取出副本到本地的任意地方。 2. 转换当前副本到新创建的仓库。只需再对项目的父目录执行Switch命令。

在下一个窗口输入刚才创建的branch地址。选择Head version。点击OK。本地副本就切换到新branch或tag了。


TortoiseSVN 日常操作指南(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:关于我市地下空间开发利用的调查与思考

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: