SVN8.COM - SVN中文技术网

投递文章 投稿指南 SVN中文技术网公告:技术交流诚聘优秀版主最新公告
搜索: 您的位置主页>SVN使用>TortoiseSVN日常使用指南

TortoiseSVN日常使用指南

SVN技术网 www.svn8.com 2008-03-18 10:37:20   来源:   作者:  评论:0 点击:
%merged

发生冲突的文件,同时将被合并后的文件替换

%mname

合并文件的窗口标题

例如,使用 Perforce Merge:

C:\Path-To\P4Merge.exe %base %theirs %mine %merged

或者使用 KDiff3:

C:\Path-To\kdiff3.exe %base %mine %theirs -o %merged --L1 %bname --L2 %yname --L3 %tname

或者使用 Araxis:

C:\Path-To\compare.exe /max /wait /3 /title1:%tname /title2:%bname /title3:%yname %theirs %base %mine %merged /a2

5.27.4.3. 差异查看/合并工具的高级设置

图 5.48. 高级差异比较设置/高级合并设置的对话框

高级差异比较设置/高级合并设置的对话框

在高级设置中,你可以为每种文件类型都定义一个不同的差异比较/合并程序。例如,你可以指定Photoshop作为.jpg文件的 “比较” 程序 :-) 也可以按照 svn:mime-type 属性指定差异/合并程序。

无需任何通配符,你仅需指定文件的扩展名,包含开始的点,但是没有任何通配符。使用 .BMP 来描述Windows位图文件,而 不是*.BMP。如果使用svn:mime-type属性,要指定多媒体文件类型,包含斜线,例如text/xml

5.27.4.4. 统一的差异查看器

一个统一差异文件(补丁文件)的查看程序。不需要任何参数。默认 选项遵循先检查 .diff 文件,再检查 .txt 文件的顺序。如果你没有 .diff 文件的查看器,就需要用记事本来查看了。

原始Windows记事本程序对未使用标准“回车-换行”结束符的文件支持的并不好。而很多统一差异文件都仅仅使用“换行”结束符,因此他们的格式在记事本中显示的并不好。无论如何,你可以下载一个免费的记事本2 Notepad2,它不但可以正确地显示结束符,更可以为差异文件中添加和删除的那些行做颜色标记。

5.27.5. 已保存数据的设置

图 5.49. 设置对话框,已保存数据设置页面

设置对话框,已保存数据设置页面

为您方便着想,TortoiseSVN保存了很多你用过的设置,并记录你最近浏览过的地址。如果你想清空这些数据缓存,就在这里操作。

URL历史记录

每次你检出一个工作拷贝,合并那些更改的文件,或仅仅是在使用版本库浏览器时,TortoiseSVN都将保存一个记录,记录那些最近使用过的URL,并在一个下拉列表框中显示出来。有时列表会被逐渐增多的过期URL弄得乱糟糟的,所以有定期清理一下的必要。

如果你希望从列表中删除单独的条目,可以点击下拉列表,移动鼠标到你要删除的项上,然后按组合键SHIFT+DELETE

日志信息

TortoiseSVN同时也储存你最近提交时填写的日志信息。对应每个版本库都要储存这些信息,所以如果你访问过很多版本库,这个列表将变得非常大。

窗口大小及位置

许多对话框都可以记录你最后一次使用时的窗口大小和位置。

认证数据

当你在登陆某个Subversion服务器,填写认证信息时,用户名和密码也可以被保存在本地,你也就不用每次都输入了。但考虑到一些安全因素,你可能会有清除这些认证信息的愿望,或者你仅仅是想换个不同的用户名登陆...John知道你正在用他的机器么?(规范点儿,用你自己的用户名登陆版本库吧,伙计 *by Jax)

如果你仅想清除某个特定版本库的认证数据,读一下 第 5.1.5 节 “认证” 有关怎样寻找缓存数据的说明。

5.27.6. 注册表设置

一些极不常用的设置只有通过直接修改注册表的方式才能生效。

配置

通过编辑注册表 HKCU\Software\TortoiseSVN\ConfigDir,你可以为Subversion的配置文件指定一个不同位置。这将影响到TSVN的所有操作。

缓存托盘图标

要为TSVNCache程序添加一个缓存托盘图标,先在 HKCU\Software\TortoiseSVN\CacheTrayIcon 的位置,创建一个 DWORD 值,取值为1。这确实只对开发者才有点用处,因为它允许你来优雅地关闭TSVNCache,而不是在进程列表里kill掉它。(托盘图标可以显示当前已缓存了的文件夹数目 *by Jax)

5.27.7. Subversion的工作文件夹

在使用VS.NET环境做web工程时,遇到.svn文件夹会出问题,但Subversion是要用这些文件夹来储存自己的内部信息的。这可不是Subversion的bug,这bug是VS.NET和它使用的frontpage扩展带来的。

在Subversion 1.3.0和TSVN 1.3.0里,你可以设置环境变量 SVN_ASP_DOT_NET_HACK,来通知Subversion用 _svn 文件夹替代 .svn 文件夹。你必须重启你系统的外壳程序来使环境变量生效,一般意味着你要重启PC。在1.4.0里这项替代工作就变得非常简单,你只需从常规设置页面选择一个单选框:使用“_svn”目录替代“.svn”目录。——参考 第 5.27.1 节 “常规设置”

若想获得更多信息,了解避免该问题的其他方法,请读读我们 FAQ 里的文章。

5.27.8. 钩子脚本

图 5.50. 设置对话框,钩子脚本页

设置对话框,钩子脚本页

这个对话框允许你指定当特定 Subversion 动作执行时,自动执行的钩子脚本。

应用程序,例如钩子,可能调用如SubWCRev.exe这样的程序,来更新提交后的版本号,可能还会出发重新构建。

由于各种安全理由和实现问题,钩子脚本在本地机器定义,而不是象工程属性那样。不管是谁提交,都可以定义它做什么事情。当然,你也可以选择调用一个受版本控制的脚本。

图 5.51. 设置对话框,配置钩子脚本页面

设置对话框,配置钩子脚本页面

要增加钩子脚本,直接点击 增加 ,然后输入脚本即可。

现在有六种钩子脚本类型可用

开始提交

在提交对话框之前调用。当钩子修改受版本控制的文件,影响了提交的文件列表的时候适用。

提交之前

在提交对话框点击确认之后,实际提交之前调用。

提交之后

在提交结束后调用(无论成功或失败)

开始更新

在更新到版本对话框显示之前调用

更新之前

在 Subversion 更新实际开始之前调用

更新之后

在更新之后调用(无论成功或失败)



技术交流 录入:SVN中文技术网[www.svn8.com]
Tags:  
责任编辑:
  • 请文明参与讨论,禁止漫骂攻击。 用户名:新注册) 密码: 匿名:
    评论总数:0 [ 查看全部 ] 网友评论
    关于我们 - 联系我们 - 广告服务 - RSS订阅 - 网站地图 - 返回顶部