对于我的项目,我想使用tortoise svn仅导出自上次更新以来更改/添加的文件(标有红色感叹号或加号的文件),但我似乎无法找到正确的组合来完成这个简单的任务。
我现在所做的是使用指定的修改日期进行xcopy,但它错过了一些只是添加到文件夹而未修改的文件。由于我可以获得更改列表,因此我看不到将这些文件导出到部署目录的任何方法。
答案 0 :(得分:24)
检查修改对话框,按状态排序。 Shift-Click或Ctrl-Click选择具有“已修改”和“已添加”状态的所有项目。 然后只需将文件从“检查修改”对话框右键拖动到资源管理器中的另一个文件夹即可。
另一种方式(如果您已提交更改): 显示日志对话框,选择包含有趣更改的所有修订。在下部窗格中,按住Shift键选择所有条目,右键单击,选择“另存为”。
另一种方式: 使用存储库浏览器,找到第一个URL(假设您要导出在两个标记之间更改的所有内容,例如版本1和版本2),右键单击“标记为比较”。找到第二个网址,右键单击“比较网址”。在下面的“更改的文件”对话框中,选择所有文件,右键单击,选择“将选择导出到...”。
答案 1 :(得分:9)
来自the TortoiseSVN daily use guide:
从工作副本导出的另一种方法是右键拖动工作 将文件夹复制到另一个位置并选择... 上下文菜单→SVN导出此处更改的项目 ... 第三种选择仅出口 修改了项目,但保留了文件夹结构。
答案 2 :(得分:2)
在检查修改对话框中,选择要导出的所有文件,然后右键单击并选择导出。
这是一个更好的解决方案,特别是如果要导出子目录中的文件。 (检查修改的拖动选项会使目录结构变平)。
答案 3 :(得分:0)
这不是Tortoise的内置功能。您可以在powershell中添加一个脚本来解析'svn st'的输出并复制文件。
答案 4 :(得分:0)
您最好的选择可能是使用 svn status ,然后grep文件代码以确定要复制的文件。
答案 5 :(得分:0)
另一种选择。
假设您上次从存储库版本#85部署了应用程序。经过几周的开发,存储库现在已达到修订版#178。