Editplus调用TortoiseSVN进行版本控制
 

2009-05-22 作者:walkonway 来源:kelvinblog.com

 

喜欢GindinSoft Notepad的一个很重要的原因是因为它内置了SVN的版本控制功能。

尝试使用UltraEdit的一个很重要的原因是它内置了版本控制功能。

不过终于在网络上苦苦寻找Editplus的SVN插件许久之后,终于在editplus wiki找到了一个完美的解决方案,不敢独享,在此写下这种解决方案和大家共享。

该解决方案的前提是本地安装了TortoiseSVN的客户端,然后在Editplus中新建一个用户工具,具体配置如下:

Menu text: SVN[command]
Command:
[TortoiseSVN安装路径]\bin\TortoiseProc.exe

Argument:
 /command:[command] /path:”$(FilePath)” /notempfile /closeonend:[index]
Initial Directory: $(FileDir)

勾选: “Capture output”, “Save open files”

[index]:closeonend参数:

  • /closeonend:0 不自动关闭对话框
  • /closeonend:1 如果没发生错误则自动关闭对话框
  • /closeonend:2 如果没发生错误和冲突则自动关闭对话框
  • /closeonend:3如果没有错误、冲突和合并,会自动关闭
  • /closeonend:4如果没有错误、冲突和合并,会自动关闭

[command]:具体的TortoiseSVN的功能指令,具体如下:

命令 描述
:about 显示关于对话框。如果没有给命令也会显示
:log 打开日志对话框,路径指定了日志显示的文件或目录,另外还有三个选项可以设置: /revstart:xxx、/revend:xxx和/strict
:checkout 打开检出对话框,/path指定了目标路径,而/url制定了检出的URL。
:import 打开导入对话框,路径制定了数据导入路径。
:update Updates the working copy in /path to HEAD. If the option /rev is given then a dialog is shown to ask the user to which revision the update should go.
:commit 打开提交对话框,路经指定了目标路径或需要提交的文件列表,你也可以使用参数/logmsg给提交窗口传递预定义的日志信息,或者你不希望将日志传递给命令行,你也可以使用/logmsgfile:path,path指向了保存日志信息的文件。为了预先填入bug的ID(如果你设置了集成bug追踪属性),你可以使用/bugid:”the bug id here”完成这个任务。
:add 将/path的文件添加到版本控制 。
:revert 恢复工作副本的本地修改,/path说明恢复哪些条目。
:cleanup 清理中断和终止的操作,将工作副本的/path解锁。
:resolve 将/path指定文件的冲突标示为解决,如果给定/noquestion,解决不会向用户确认操作。
:repocreate 在/path创建一个版本库。
:switch 打开选项对话框。路径参数指定目标目录。
:export 将/path的工作副本导出到另一个目录,如果/path指向另一个未版本控制目录,对话框会询问要导出到/path的URL。
:merge Opens the merge dialog. The path specifies the target directory.
:copy 带来branch/tag对话框,/path是branch/tag在工作副本中的出处。
:settings 打开设置对话框。
:remove 从版本控制里移除/path中的文件。
:rename 重命名/path的文件,会在对话框中询问新文件,为了防止一个步骤中询问相似文件,传递/noquestion。
:diff 启动TortoiseSVN设置的外置比较程序,/path指定了第一个文件,如果设置了/path2,比较程序会启动两个文件,如果省略/path2,比较程序会比较/path和它的BASE。
:conflicteditor 打开TortoiseSVN设置的冲突工具,在/path中需要设置冲突文件的正确文件。
:relocate 打开重定位对话框,/path指定了重定位的工作副本路径。
:help 打开帮助文件
:repostatus 打开为修改检出对话框,路经指定了工作副本目录。
:repobrowser 打开版本库浏览对话框,URL为工作副本/path指向的或/path直接指出的,另外一个选项是/rev:xxx,可以用来指定要显示的修订版本号,如果省略/rev:xxx,缺省是HEAD。
:ignore 将/path中的对象加入到忽略列表,也就是将这些文件添加到svn:ignore属性。
:blame 打开/path指定文件的追溯对话框,如果设置了startrev和endrev,对话框询问追溯范围的对话框不会显示,如果设置了/line:nnn,TortoiseBlame会打开特定文件的某一行。
:cat 将/path指定的工作副本或URL的文件保存到/savepath:path,修订版本号在/revision:xxx,这样可以得到特定修订版本的文件。
:createpatch 创建/path下的补丁文件。
:revisiongraph 显示/path目录下的版本变化图。
:lock Locks a file. The ‘lock’ dialog is shown so the user can enter a comment for the lock. /path
:rebuildiconcache 重建windows的图标缓存,只有windows的图标缓存出了问题才需要这样做,一个副作用就是(不可避免)桌面的图标会重新组织。/noquestion

希望这篇博文可以给喜欢Editplus又想用svn的朋友们带来一点帮助。


火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。
资源网站: UML软件工程组织