因此,在Subversion存储库中有一个文件夹的名称不正确。我的任务是重命名它。不幸的是,存储库非常大,这意味着要花很多时间才能尝试将其检出。它还不断给我“对等连接重置”消息。
有没有一种方法可以简单地将提交指令发送到存储库而无需检出?我不需要在本地结帐。
(如果相关,则将存储库托管在Assembla中)
首先,您的直接问题是:svn move
允许在存储库中提供URL,以避免为此操作需要工作副本。例如,
svn mv http://example.com/svn/repo/trunk/path/to/dir http://example.com/svn/repo/trunk/path/to/renameddir -m "renaming poorly named directory"
但实际上,存储库大小基本上不会影响此任务。您无需为该任务签出完整的存储库。也许您实际上不需要签出完整的存储库来执行MOST任务,所以您应该继续阅读!称为稀疏工作副本的概念使您仅可以签出完成任务所需的内容。此外,始终仅从存储库中签出所需的子树。
对于您的直接任务,您可以创建一个工作副本,该工作副本仅包含目录中紧接需要重命名的文件夹中的文件夹。要继续该示例,您将获得如下工作副本:
svn co --depth immediates http://example.com/svn/repo/trunk/path/to MY_WORKING_COPY
请注意,这还将提取子目录外部“ to”目录中的所有文件(如果有)。如果您想避免这些情况,也可以:
svn co --depth empty http://example.com/svn/repo/trunk/path/to MY_WORKING_COPY
svn up --set-depth empty MY_WORKING_COPY/dir
注意,如果您需要一堆文件/子目录,TortoiseSVN客户端可以轻松实现第二种方法的自动化。
在网络上搜索“稀疏工作副本”,您将找到更多信息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句