让SourceTree也能Export文件
2016-06-01 15:39
459 查看
从SVN转到SourceTree,在想导出几个提交版本所牵涉到的文件时, 一定会怀念SVN的Export功能。 怎么让SourceTree也有这个功能呢?
看看在TortoiseSVN里面怎么做的:
1. Show Log
2. 选择想导出的那些个Revision
3. 选择想导出的那些个文件
4. 在文件上右键, Export...
到了SourceTree里面, 我可怎么也找不到Export的命令。
好在最新版本的SourceTree支持Custom Action。 这样我们就能自己编写Export命令了。
以下是windows的bat命令, 储存为export.bat。 linux下的请按图索骥
@set export_php="C:\work\git-export\export.php"
@set export_dir="C:\WWW\export"
@set source_files=%*
@rmdir %export_dir% /s/q
@mkdir %export_dir%
@php %export_php% %source_files%
@explorer %export_dir%
以下是export.php
<?php
date_default_timezone_set('Asia/Shanghai');
if($argc == 0)
{
exit('Nothing to copy');
}
define('DS', DIRECTORY_SEPARATOR); // I always use this short form in my code.
$source_dir = 'E:'.DS.'projects'.DS.'sia'.DS.'sia';
$exp_dir = 'E:'.DS.'projects'.DS.'sia'.DS.'export';
function ExportOneFile($path)
{
global $source_dir,$exp_dir;
$final_source = $source_dir.DS.$path;
$final_dest = $exp_dir.DS.$path;
$final_dest_dir = dirname($final_dest).DS;
if(!is_dir($final_dest_dir))
{
mkdir($final_dest_dir,0777,true);
}
return copy($final_source,$final_dest);
}
foreach($argv as $index=>$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文件夹。 挺方便的。
看看在TortoiseSVN里面怎么做的:
1. Show Log
2. 选择想导出的那些个Revision
3. 选择想导出的那些个文件
4. 在文件上右键, Export...
到了SourceTree里面, 我可怎么也找不到Export的命令。
好在最新版本的SourceTree支持Custom Action。 这样我们就能自己编写Export命令了。
以下是windows的bat命令, 储存为export.bat。 linux下的请按图索骥
@set export_php="C:\work\git-export\export.php"
@set export_dir="C:\WWW\export"
@set source_files=%*
@rmdir %export_dir% /s/q
@mkdir %export_dir%
@php %export_php% %source_files%
@explorer %export_dir%
以下是export.php
<?php
date_default_timezone_set('Asia/Shanghai');
if($argc == 0)
{
exit('Nothing to copy');
}
define('DS', DIRECTORY_SEPARATOR); // I always use this short form in my code.
$source_dir = 'E:'.DS.'projects'.DS.'sia'.DS.'sia';
$exp_dir = 'E:'.DS.'projects'.DS.'sia'.DS.'export';
function ExportOneFile($path)
{
global $source_dir,$exp_dir;
$final_source = $source_dir.DS.$path;
$final_dest = $exp_dir.DS.$path;
$final_dest_dir = dirname($final_dest).DS;
if(!is_dir($final_dest_dir))
{
mkdir($final_dest_dir,0777,true);
}
return copy($final_source,$final_dest);
}
foreach($argv as $index=>$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文件夹。 挺方便的。
相关文章推荐
- JAVA多线程3中实现总结
- EventBus3.0学习笔记
- Spring事务配置的五种方式
- 关于JAVA中文乱码(1)
- Java反射机制
- Javascript原型相关的函数
- JS 验证码60秒倒计时
- H264视频压缩编码标准(一)
- opengl学习——绘制图形
- hibernate lazy属性参数说明
- Win10下GCC编译器的安装与配置
- [ 转]堆和栈的区别
- LeetCode—352. Data Stream as Disjoint Intervals
- 自制串口电平转换电路
- iOS开发UI篇—UIScrollView控件实现图片轮播
- 【JUC】JDK1.8源码分析之ConcurrentSkipListSet(八)
- 5行脚本代码完美破解99%的过期软件
- [Matlab] matlab与C/C++混合编程汇总
- iOS PhotoKit框架 详解
- SAP中如何实现<生产订单>的批量删除方法!