TortoiseSVN 致力于多个目标

TortoiseSVN Committing To Multiple Targets

我使用 TortoiseSVN 作为我的版本控制工具。我最近创建了一个命令行来将更改的文件提交到 SVN 存储库。

我的存储库位于此处:file:///F:/SVNRepository/TortoiseSVN

我的源代码文件位于:C:\Users\userid\Documents\ActiveDocuments\PSScripts\

如果我转到 Windows 资源管理器并右键单击该文件,我会看到以下内容,这是正确的:

但是,如果我 运行 TortoiseSVN 命令,我会看到以下内容:

注意 Commit To: 是怎么说的(选择了多个目标),您会看到所有文件的副本。

我搜索了几个小时,似乎无法找到如何正确显示 TortoiseSVN 提交命令的方法。

以下是我对命令进行编码的方式:

'C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe' '/command:commit' '/path:"C:\Users\zrmfld\Documents\ActiveDocuments\PSScripts\*.*"'

这是 svn info 命令的结果:

C:\Users\zrmfld\Documents\ActiveDocuments\PSScripts\TortoiseSVN>svn info
Path: .
Working Copy Root Path: C:\Users\zrmfld\Documents\ActiveDocuments\PSScripts
URL: file:///F:/SVNRepository/TortoiseSVN
Relative URL: ^/TortoiseSVN
Repository Root: file:///F:/SVNRepository
Repository UUID: fd12eeda-107f-5d40-bebd-932aaf916f88
Revision: 11
Node Kind: directory
Schedule: normal
Last Changed Author: zrmfld
Last Changed Rev: 11
Last Changed Date: 2015-10-20 13:31:07 -0400 (Tue, 20 Oct 2015)
  1. 我不知道为什么你在 TortoiseProc 命令的每个部分周围使用撇号,根据 docs (对于 CMD-shell ?)这是不需要的(注意第一个示例TortoiseProc 提交的页面底部)
  2. 对于:commit 命令“.../path 指定目标目录或要提交的文件列表...”,即"all (changed versioned) files in dir" 可能只是

/path:"C:\Users\zrmfld\Documents\ActiveDocuments\PSScripts\"

  1. C:\Program Files\TortoiseSVN\bin\ 通常添加到 PATH,TortoiseProc 可以从任何位置调用,因此:您可以在脚本中拥有 smth.更具可读性,如
cd C:\Users\zrmfld\Documents\ActiveDocuments\PSScripts
TortoiseProc.exe /command:commit /path:"." ...

最后但并非最不重要的:

简单且良好的 SVN 活动自动化假设使用完全非交互式 CLI 工具,您可以将其作为 TortoiseSVN 安装的一部分:简单透明的语法,不对话|windows,阅读svn help commit