3
A
回答
4
假设你按照有关文件夹组织共同约定在你的仓库(trunk/branch/tags
)和自己的代码都从主干创建的,你可以做到以下几点:
首先,如果你想2的更新日志标签,您首先需要找到与这些标签相对应的修订版本。 这可以Tag1
使用命令来完成,例如:
svn log --stop-on-copy https://repoAddress/tags/Tag1
输出结果会是这样的:
------------------------------------------------------------------------
r106 | myName | 2012-06-06 17:15:34 +0200 (mer., 06 juin 2012) | 1 line
Commit message
------------------------------------------------------------------------
从那里你可以找到相应的修订106
。 对另一个标签做相同的处理会给你第二个修订版(比如258
)。
然后,你可以通过执行以下命令,有你完整的changelog:
svn log --verbose -r258:106 https://repoAddress/trunk
1
如果你在Windows下你可以使用PowerShell做各种巧妙的运用与系统数据。我编写了一小套工具来分析你正在寻找的Subversion元数据。下面是一个示例,完成您请求的操作:收集两个标签名称之间所有文件的路径和日志消息。您不必将标签交叉引用到修订版本号上 - 它会自动为您完成。
Get-SvnLog -ByFile `
-TagPath file:///C:/usr/svn/cleancode/tags `
-RevisionRange "Release_1_1_04:Release_1_2_01" |
Select Revision, Path, Msg |
Format-List
这里是输出的一部分。
Revision : 1255
Path : /trunk/devel/cleancode-support/sourceXml/translate.xsl
Msg : Improved XSLT with variable for 'newline'.
Revision : 1256
Path : /trunk/devel/cleancode-support/sourceXml/translate.xsl
Msg : Updated google analytics tracking code.
Revision : 1257
Path : /trunk/devel/cleancode-support/build.xml
Msg : Updated google analytics tracking code for language APIs: java, perl, powershell, and c#.
Revision : 1257
Path : /trunk/devel/cleancode-support/analytics-files.txt
Msg : Updated google analytics tracking code for language APIs: java, perl, powershell, and c#.
请注意,您可能在一个提交中有很多文件。使用-ByFile
参数表示明确枚举每个文件(从而看到重复的日志消息)。如果省略-ByFile
参数 - 在属性列表中选择Paths
而不是Path
- 你得到这个更简洁房源:
Revision : 1255
Paths : <paths><path action="M" kind="">/trunk/devel/cleancode-support/sourceXml/translate.xsl</path></paths>
msg : Improved XSLT with variable for 'newline'.
Revision : 1256
Paths : <paths><path action="M" kind="">/trunk/devel/cleancode-support/sourceXml/translate.xsl</path></paths>
msg : Updated google analytics tracking code.
Revision : 1257
Paths : <paths><path action="M" kind="">/trunk/devel/cleancode-support/build.xml</path><path action="A"
kind="">/trunk/devel/cleancode-support/analytics-files.txt</path><path action="M"
kind="">/trunk/devel/dotnet/Projects/CleanCode/SandCastle/CleanCode.shfbproj</path><path action="M"
kind="">/trunk/devel/powershell/scripts/psdoc_template.html</path></paths>
msg : Updated google analytics tracking code for language APIs: java, perl, powershell, and c#.
您可以看到GET-SvnLog的API在我open source bookshelf。打开PowerShell“书”并转到SvnTools。下载代码here。
相关问题
- 1. 差异提交标签
- 2. 标记提交信息和变更
- 3. 显示提交消息中的差异
- 4. 差异提交页面和索引googlemap
- 5. 差异b/w提交按钮和锚标记
- 6. JavaFX中的标签和文本差异
- 7. window.location.hash差异写的网址和标签
- 8. 混帐挂钩:从特定文件差异取决于更改提交信息
- 9. kivy标签位置差异
- 10. 锚标签提交
- 11. 使用提交信息
- 12. 提交信息不通过
- 13. 更改Git提交信息
- 14. 差异linux和windows(xampp)处理错误信息不能修改标题信息 - 已由php发送的标题
- 15. 使用gitpython的两个分支的差异提交消息
- 16. 填写和提交表单标签
- 17. 读取XML标签信息
- 18. 个体差异=在JavaScript提交功能
- 19. Git:比较两个提交的差异
- 20. IntelliJ显示提交后的GIT差异
- 21. 本地提交后的差异
- 22. 如何从差异机器提交?
- 23. 如何通过GitHub API获取Git标签中的所有提交信息
- 24. 签名差异
- 25. 计算时间差异并继续向标签添加差异
- 26. Magento签出卡住“提交订单信息”
- 27. HTCondor作业提交标签
- 28. 获取提交标签
- 29. VBA - 提交 - 输入标签
- 30. 提示,点击差异标签,保存之前
这不是XML。如果您想要进一步处理它,请求XML输出可能有意义,但对于人类消费来说,常规文本格式就是您想要的。 – tripleee
您可以直接在两个标签之间进行区分;只需将标记网址作为'svn diff'的参数即可。或者你只想提交消息? – tripleee
@tripleee感谢您注意到错字,现在已经修复。并且'svn log'也接受2个标签作为参数吗? –