原文:http://www.subversion.org.cn/?action-viewnews-itemid-90
对于已经上线的 ASP.NET 网站来说,后续的维护更新尤其重要,不过每次要更新的时候,都要人工检视历次的版本纪录,检查所有新增、修改、或删除了哪些文件,手动整理好这些文件之后,再更新到正式主机。最麻烦的地方就是在于每次都要先找一个暂存的目录,然后目录一个一个的建立,然后把文件一个一个的复制进来,完成之后压缩起来寄给客户或请相关人员批次更新,但是这麽多的「人工作业」难免有搞错的机会,导致更新到错误的文件或将文件放到错误的目录下等等。
虽然 TortoiseSVN 有提供 Create Patch 与 Apply Patch 等功能,不过客户端的正式主机几乎都没有安装 TortoiseSVN 软体,所以可说是英雄无用武之地。所以长久以来,我一直苦苦追寻这样的功能:「如何才能让 TortoiseSVN 仅汇出新增或修改过的文件呢?」这个功能我已经找了一年多了,好几次有股冲动想写这样的软件出来,因为每次要汇出差异的文件真的很麻烦。
上周五,这个功能终于被我找到了!原来这功能老早就在 TortoiseSVN 中了,只是藏在云深不知处,以下是本次重大的心得分享。
首先,必须先用 SVN Show log 功能列出所有 Revisions 纪录,然后任选「两个版本」后按右键选取 Compare revisions
然后会出现 Changed Files 视窗,这里会列出这两个版本间的所有差异项目,透过鼠标或按键盘 Ctrl + A 全选后按下右键选 Export selection to ... 导出这些差异项目。
然后会出现「浏览资料夹」窗口,选取好目录按下「确定」按钮后就会将你选取的这些文件会出到这个目录下了,还包括所有目录的结构喔!
找到这个功能我感觉就像是挖到宝一样,十分开心的!^_^
编辑说明:如果使用Ant或者命令行的操作,可以参考这篇文章。