gpt4 book ai didi

java - 使用 SVNKIT 从 SVN 中的分支获取所有修订日志

转载 作者:行者123 更新时间:2023-11-30 04:55:50 32 4
gpt4 key购买 nike

我正在尝试使用 SVN Kit 获取在我的 Java 代码中的分支上执行的所有 Activity 。

SVNRepository repository = SVNRepositoryFactory.create(svnURL);
ISVNAuthenticationManager authManager = SVNWCUtil.createDefaultAuthenticationManager("UserName", "password");
repository.setAuthenticationManager(authManager);
Collection logEntries = repository.log(new String[] { "" }, null, 0, -1, true, true);

上面的代码就像一个魅力,我得到了由我的 svnURL 属性表示的分支上的所有 Activity 。

但真正的问题出现在一些 Activity 之后分支本身被重命名时。例如

Initial Branch => https://domain/repository/branches/OriginalName
New
Branch => https://domain/repository/branches/NewName

现在,重命名发生后,当我使用旧名称运行上述代码时,我收到一个 propfind 错误,指出无法找到该文件。但是,当我使用新的分支名称运行时,一切都正常文件,并且它还提供该分支上的 Activity 日志,但仅限于重命名。不会返回在 OldBranch 名称上发生的 Activity 。

SVNKit 有没有办法获得我期望的输出?

最佳答案

您设置参数strictNode log 为 true

If strictNode is true, copy history will not be traversed (if any exists) when harvesting the revision logs for each path.

这似乎相当于大多数 GUI 中复制/重命名时停止。通过将其设置为 false,您应该获得整个修订历史记录。

注意: svn rename 只是一个 copy and delete 。它将创建文件/文件夹的新副本并删除旧的。

关于java - 使用 SVNKIT 从 SVN 中的分支获取所有修订日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8588499/

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