2011-01-20 35 views
4

我在SVN更改列表和svn diff中遇到了一些麻烦。特别是我想获得指定修订版本的某个文件列表的更改历史记录。 SVN变更表中看似完美的解决方案,所以我的做法是:带修订范围和更改列表的SVN差异

  • svn changelist LIST a.txt b.txt d.txt ...
  • svn diff --changelist LIST --revision 2:3

不幸的是,这包括所有文件,即使是那些没有变更列表。使用没有--revision的相同语法可以很好地工作。

我怀疑changelists是专门为工作副本而设计的,根本不考虑历史因素。如果是这样,最简单的选择是什么?

回答

1

据SVN书chapter on changelists的:

的--changelist选项仅充当 过滤器Subversion命令的目标, 并不会增加目标到 操作

如果您将--changelist选项替换为实际的文件列表,例如a.txt b.txt d.txt ...即可获得所需的输出。我猜这个命令的行为是使用当前的工作副本目录作为目标,然后它无法为更改列表应用过滤器。

+0

替换`--changelist`确实是一个聪明的想法,我没有考虑过。谢谢! – 2011-01-20 16:29:34