在实际工作中,经常需要停止当前正在开发的功能去修复之前的bug,
git可以很好的解决这些问题,但是很多公司内部还是使用svn作为版本控制的

简单解决方案

创建多个相同的版本库

1
2
3
4
project
├───trunk_1 (用于开发功能1)
├───trunk_2 (用于开发功能2)
├───trunk_commit (只用于提交)

功能开发完成后,
使用meld或者其他代码合并工具,
将代码合并到trunk_commit,
然后从trunk_commit提交代码

简单例子view raw
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
@echo off

@set src_root_dir=%~dp0
@set dest_root_dir=e:\sgh5\server\trunk_commit
@set TortoiseProc=D:\TortoiseSVN\bin\TortoiseProc.exe

echo [1]svn update src ...
%TortoiseProc% /command:update /path:%src_root_dir%

echo [2]svn update dest ...
%TortoiseProc% /command:update /path:%dest_root_dir%

echo [3]meld ...
meld %src_root_dir% %dest_root_dir%

echo [4]compile ...
cd %dest_root_dir%
start xctl_commit.bat compile

cd %src_root_dir%
echo [5]commit ...
%TortoiseProc% /command:commit /path:%dest_root_dir%

echo [6]svn update src again ...
%TortoiseProc% /command:update /path:%src_root_dir%

echo [7]finish