我有大量文件,它们以前都以 UUID 命名,例如“58eb386e-305d-11e0-a2d5-33c8867dedc0.html”。然后它们都被移动到其他文件名,通常是作为大规模批量移动的一部分。我想回顾每个文件的历史记录,找到 UUID,然后将其附加到文件中。如果可以的话,我想在命令行上执行此操作。
我找不到一种简单的方法来生成单个文件在其整个历史记录中的名称列表。svn log 和 svn log --xml 都不会在输出中打印文件名。如果我添加 -v 标志,我会得到影响文件的每个修订版本中所有更改的文件名,这不是我想要的。
我想要的东西或多或少看起来像这样:
> svn magic-command foo.html
----
r312 ...
A foo.html
D bar.html
----
r256 ...
A bar.html
D baz.html
----
r234 ...
A baz.html
D 58eb386e-305d-11e0-a2d5-33c8867dedc0.html
----
r123 ...
A 58eb386e-305d-11e0-a2d5-33c8867dedc0.html <<< BINGO!!!
D draft.html
----
r96 ...
A draft.html
有什么建议吗?谢谢!
答案1
您可以为每个相关修订号和文件路径使用svn info -r revision-number file-path
。这有点麻烦,但似乎有效。