Bof*_*ain 7 svn tortoisesvn branch
我的问题类似于Mercurial:列出所有未合并的分支但是对于SVN,而不是Mercurial.
我需要找到一种方法来列出所有尚未合并到我的当前打开的分支(通常是主干).
据我所知,Git中的等价功能是git branch --no-merged和git branch --merged
为了澄清,我不是要求一个未合并的修订列表,就像过去提出的许多其他StackOverflow问题一样.
我将接受任何能够列出尚未合并的所有活动分支的解决方案.如果这是不可能的,那么我将接受一个列出所有活动的合并分支的答案,允许我向后工作.
例如,如果我在repo/trunk,并且repo具有这些分支:
repo/branches/b1 尚未合并到主干repo/branches/b2 已被合并repo/branches/b3 已在先前版本中删除,但未合并repo/branches/b4 合并后被删除您的解决方案应返回b1或b2,但绝不能返回b3或b4.
首先,您必须列出 HEAD 修订版中的所有分支:
svn list repo/branches/ -r HEAD
Run Code Online (Sandbox Code Playgroud)
然后,您必须循环遍历结果并检查合并信息。这是一个可以保存为 *.bat 文件的脚本:
@echo off
for /f %%b in ('svn list repo/branches -r HEAD') do call :revisions %%b
exit /b
:revisions
for /f %%r in ('svn mergeinfo --show-revs eligible repo/branches/%1 repo/trunk') do (
echo repo/branches/%1
exit /b
)
Run Code Online (Sandbox Code Playgroud)
我在这里使用:revision子例程,因为当我看到第一个可用于合并的修订时我想退出它。这就是为什么这个程序不会打印重复的分支。
| 归档时间: |
|
| 查看次数: |
844 次 |
| 最近记录: |