1

我一直在尝试将几个文件传递给 svn commit/status/etc :

svn status -u -v file1, file2, file3 ... file1000

svn 似乎依次在每个 filex 上运行 svn status -u -v,这是设计使然吗?通过远程 svnserver 使状态命令/操作变得非常慢。

使用更改列表时:

svn changelist SVN file1, file2, file3 ... file1000 svn status -u -v --changelist SVN

svn 似乎运行 svn status -u -v 一次并以非常快的速度返回状态,但显然还有额外的步骤需要执行并且它们有其局限性,见下文

更改列表只能包含当前由 svn 管理的文件。

提供一个额外的操作来为状态/提交动态创建一个新的变更列表是否有意义,比如 --newchangelist (从现有的变更列表中删除所有文件并创建一个新的)。这样可以更快地处理显式多个文件。还是我错过了什么?

具有讽刺意味的是,运行以下内容并解析输出会更快

svn 状态 -u -v

并使用 TCL 解析结果输出以过滤掉不需要的文件,--changelist 实现将显得次优。

某些 svn 命令(但不是全部)支持 --targets,这可能是提高性能的一个选项

为什么 svn lock/unlock/log 不提供 --changelist 选项?大多数其他命令何时执行?至少 un/lock 支持 --targets

是否有计划向 SVN 添加更多变更列表功能?

我会很感激你的想法

http://svnbook.red-bean.com/en/1.6/svn.advanced.changelists.html

Subversion 的变更列表功能是一个方便的工具,用于对工作副本文件进行分组,但它确实有一些限制。变更列表是特定工作副本的工件,这意味着变更列表分配不能传播到存储库或以其他方式与其他用户共享。变更列表只能分配给文件——Subversion 目前不支持在目录中使用变更列表。最后,您最多可以在给定的工作副本文件上分配一个更改列表。这是博客文章类别和照片服务标签类比分解的地方 - 如果您发现自己需要将文件分配给多个更改列表,那么您就不走运了。

4

0 回答 0