TortoiseSVN 提交到多个目标
Posted
技术标签:
【中文标题】TortoiseSVN 提交到多个目标【英文标题】:TortoiseSVN Committing To Multiple Targets 【发布时间】:2016-01-19 13:11:03 【问题描述】:我使用 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)
【问题讨论】:
请在 `C:\Users\zrmfld\Documents\ActiveDocuments\PSScripts` 中显示svn info
的输出
@Lazybadger C:\Users\zrmfld\Documents\ActiveDocuments\PSScripts\TortoiseSVN>svn 信息路径:.工作副本根路径:C:\Users\zrmfld\Documents\ActiveDocuments\PSScripts URL:file:///F:/SVNRepository/TortoiseSVN 相对 URL:^/TortoiseSVN Repository Root:file:///F:/SVNRepository Repository UUID :fd12eeda-107f-5d40-bebd-932aaf916f88 修订:11 节点种类:目录 时间表:正常 最后更改作者:zrmfld 最后更改修订:11 最后更改日期:2015-10-20 13:31:07 -0400(星期二,20 2015 年 10 月)
@LazyBadger 检查对我包含 svn 信息的问题的编辑
请svn ls
获取相同的目录
根据我的经验,你可以只做一个提交。即使显示了多个文件,结果也是一样的。
【参考方案1】:
-
我不知道你为什么在 TortoiseProc 命令的每个部分周围使用撇号,根据docs(对于 CMD-shell ?)不需要它(注意页面底部的第一个示例与 TortoiseProc 的提交)
对于
:commit
命令“.../path 指定目标目录或要提交的文件列表...”,即“目录中的所有(更改版本的)文件”可能只是
/path:"C:\Users\zrmfld\Documents\ActiveDocuments\PSScripts\"
C:\Program Files\TortoiseSVN\bin\
通常添加到 PATH 中,可以从任何位置调用 TortoiseProc,因此:您可以在脚本中拥有 smth。更具可读性
cd C:\Users\zrmfld\Documents\ActiveDocuments\PSScripts TortoiseProc.exe /command:commit /path:"." ...
最后但并非最不重要的一点:
SVN 活动的简单和良好的自动化假设使用完全非交互式 CLI 工具,您可以将其作为 TortoiseSVN 安装的一部分:简单透明的语法,无对话|窗口,请阅读svn help commit
【讨论】:
好的,你解决了我的问题。看来,如果您将/路径设置为“C:\Users\zrmfld\Documents\ActiveDocuments\PSScripts\”,它可以工作,但如果像我那样做,那就是“C:\Users\zrmfld\Documents\ActiveDocuments \PSScripts*.*" 它将显示(选择了多个目标)。至于命令周围的单引号,它们之所以存在,是因为我试图从 PowerShell 控制台运行这些命令。再次感谢 --- 你拯救了这一天! @FrankDiJohn - 很酷。我仍然建议迁移到 pure CLI-tools以上是关于TortoiseSVN 提交到多个目标的主要内容,如果未能解决你的问题,请参考以下文章