通过在 svn 日志中合并显示添加目录下的文件



使用 "svn log -v" 时,通过从不同分支合并添加的目录会显示合并引用,并且省略其中包含的所有文件。除了在源分支中运行引用修订的 log 命令之外,是否有一种简单的方法来显示这些文件?

即:

$ svn commit -m "Added example dir"
Adding         dir
Adding         dir/a
Adding         dir/b
Transmitting file data ..done
Committing transaction...
Committed revision 16.
$ svn update
Updating '.':
At revision 16.
$ svn log -v -l 1 .
------------------------------------------------------------------------
r16 | U3FS | 2018-01-08 17:21:22 -0600 (Mon, 08 Jan 2018) | 1 line
Changed paths:
   A /lab/branches/source/dir
   A /lab/branches/source/dir/a
   A /lab/branches/source/dir/b
Added example dir
$ svn merge -c 16 ../source/ .
--- Merging r16 into '.':
A    dir
A    dir/a
A    dir/b
--- Recording mergeinfo for merge of r16 into '.':
 U   .
$ svn commit -m "Merged example dir"
Sending        .
Adding         dir
Committing transaction...
Committed revision 17.
$ svn update
Updating '.':
At revision 17.
$ svn log -v -l 1 .
------------------------------------------------------------------------
r17 | U3FS | 2018-01-08 17:23:41 -0600 (Mon, 08 Jan 2018) | 1 line
Changed paths:
   M /lab/branches/target
   A /lab/branches/target/dir (from /lab/branches/source/dir:16)
Merged example dir
------------------------------------------------------------------------

我希望能够在"目标"分支中为 r17 的"dir/"下看到"a"和"b"的添加。我想我需要一些 bash 魔法来组合日志,但尽量避免编写比需要的复杂得多的东西。欢迎所有想法。

如果我正确理解您的问题,svn log -g应该做我认为您正在尝试做的事情,即查看合并历史记录。

svn log -vg如果你喜欢它冗长(我更喜欢这个(。

最新更新