从SVN转到SourceTree,在想导出几个提交版本所牵涉到的文件时, 一定会怀念SVN的Export功能。 怎么让SourceTree也有这个功能呢?
看看在TortoiseSVN里面怎么做的:- Show Log
- 选择想导出的那些个Revision
- 选择想导出的那些个文件
- 在文件上右键, Export...
到了SourceTree里面, 我可怎么也找不到Export的命令。 好在最新版本的SourceTree支持Custom Action。 这样我们就能自己编写Export命令了。以下是windows的bat命令, 储存为export.bat。 linux下的请按图索骥
@set export_php="E:\projects\sia\tools\export.php"@set export_dir="E:\projects\sia\export"@set source_files=%*@rmdir %export_dir% /s/q@mkdir %export_dir%@php %export_php% %source_files%@explorer %export_dir%
以下是E:\projects\sia\tools\export.php
$path) { if($index === 0) { continue; } if(ExportOneFile($path)) { echo $index.' : '.$path." exported\n"; } } echo "All Complete. Please go to $exp_dir to view files";
请修改这几个变量指向的路径:
export_php // export.php所在的位置export_dir // 输出目录所在的位置
$source_dir // 项目文件所在的位置 -- SourceTree所掌控的目录$exp_dir // 输出目录所在的位置
最后, 在SourceTree,选择 Tools=>Options=>Custom Actions=>Add
Script to run 就是那个bat的位置。
ok即可。
以后只需要选择相关的commit, 选择相关的文件。 然后选择Actions=》Custom Actions=》Export... 即可。
导出完毕后, 会自动打开export文件夹。 挺方便的。