SVN 到 HG:现在从 HG 变更集中输出 SVN 修订号
我使用 Convert 扩展将 Subversion 存储库转换为 Mercurial。当我使用 Tortoise HG 查看新存储库时,我在每个变更集中看到相应的源路径和修订版(见图)。
有没有办法将这两个写到控制台?理想情况下,我想要这样的输出:
hg:1147 svn:trunk@7201
hg:1146 svn:trunk@7200
...
我知道我可以使用 hg log
和模板选项来自定义输出,但不知道如何获取 Subversion 源路径/修订版本。
编辑: 看来我想走的路是不可能了。 svn 源路径/修订版位于变更集中名为 extras
的字段中(感谢 @Ry4en),并且 hg log
和 hg export
都不会输出此内容价值。我现在要尝试的是结合使用文件 .hg/shamap
hg log --template 'hg:{rev} nodeid:{node}'
将 Mercurial 修订版映射到 SVN 源路径/修订版。
编辑2: 我的 Mercurial 版本是 1.4.3。 在 Mercurial 1.7.1 中,可以使用此命令(感谢 @ Wim Coenen): hg log --template {node}\n{extras}\n\n
I converted a Subversion repository to Mercurial, using the Convert extension. When I look at the new repository with Tortoise HG, I see in each changeset the corresponding source path and revision (see image).
Is there a way to write those two out to the console? Ideally I'd like an output like this:
hg:1147 svn:trunk@7201
hg:1146 svn:trunk@7200
...
I know that I can use hg log
with the template option to customize the output, but don't know how to get the Subversion source path/revision.
EDIT:
It looks like the way I wanted to go is not possible. The svn source path/revision is in a field called extras
within the changeset (thanks @Ry4en) and neither hg log
nor hg export
output this value. What I will try now is to use the file .hg/shamap
in combination with
hg log --template 'hg:{rev} nodeid:{node}'
To map the Mercurial revision to the SVN source path/revision.
EDIT2:
My Mercurial version is 1.4.3.
With Mercurial 1.7.1 it's possible to use this command (thanks @ Wim Coenen): hg log --template {node}\n{extras}\n\n
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
新版本的 hgsubversion 添加了
{svnrev}
模板关键字。hg help subversion
对此进行了描述:New versions of hgsubversion adds a
{svnrev}
template keyword. This is described inhg help subversion
:它隐藏在变更集上名为
extras
的字段中,我不相信有它的日志模板条目。它可能会出现在hg export
中,您可以从中 grep 它,并且它当然可以通过编程方式获得,但我不认为有一种--template
方式来获取它。It's tucked away in a field named
extras
on the changeset, and I don't believe there is a log template entry for it. It might show up in ahg export
from which you could grep it, and it's certainly available programmatically, but I don't think there's a--template
way to get it.