gpt4 book ai didi

svn - 如何通过repo的子目录过滤SVN日志结果?

转载 作者:行者123 更新时间:2023-12-04 19:35:23 25 4
gpt4 key购买 nike

我正在尝试使用 SVN log 命令在一组修订版中查找我的 repo 的特定子目录/文件夹中的文件更改。

这是我到目前为止所拥有的:

我的 repo (trunk) 的 URL 是:

http://myserver/svn/repos/myproj/trunk

我只想在 repo 的 DB 文件夹(或 DB 文件夹的任何子文件夹)中找到修改/添加的文件:
http://myserver/svn/repos/myproj/trunk/DB

到目前为止,我有这个:
svn log -r 300:351 -q -v --xml http://myserver/svn/repos/myproj/trunk/DB

当我运行它时,我会在 repo 的其他部分获取文件,即在/trunk/app 文件夹中。

有没有办法限制结果或者我必须做一些后处理?

最佳答案

根据你的描述,我在这里下注。

我怀疑您看到的路径不是您指定的路径,因为 这些路径受到在与您指定的路径更改相同的修订中提交的操作的影响。

既然如此,您需要对 XML 进行后处理以过滤掉您不关心的路径。

示例:执行此命令...

svn log -r 300:351 -q -v --xml http://myserver/svn/repos/myproj/trunk/DB

可能会导致这样的输出:
<?xml version="1.0"?>
<log>
<logentry
revision="351">
<author>razlebe</author>
<date>2010-02-25T14:03:57.912308Z</date>
<paths>
<path
kind=""
action="D">/myserver/svn/repos/myproj/trunk/AnotherFolder
</path>
<path
kind=""
copyfrom-path="/myserver/svn/repos/myproj/trunk/AnotherFolder"
copyfrom-rev="350"
action="A">http://myserver/svn/repos/myproj/trunk/DB/AnotherFolder
</path>
<path
kind=""
action="D">http://myserver/svn/repos/myproj/SomethingElse</path>
</paths>
</logentry>
</log>

在本例中,您看到的是 <logentry>修订版 351 的要素。该修订版包括 3 项行动:
  • 删除文件夹 /myserver/svn/repos/myproj/trunk/AnotherFolder
  • 添加文件夹 http://myserver/svn/repos/myproj/trunk/DB/AnotherFolder
  • 删除文件夹 http://myserver/svn/repos/myproj/SomethingElse

  • 因此,XML 输出包括 <logentry>对于修订版 351,因为该修订版影响了您指定的 URL。但是由于该修订还影响了其他路径,所以这些路径也在 XML 中进行了描述。

    换句话说, <logentry>描述了 整体改版 ;不仅仅是影响您指定的 URL 的位。

    关于svn - 如何通过repo的子目录过滤SVN日志结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6597517/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com