如何在 TortoiseSVN 中将文件(或文件夹)从一个文件夹移动到另一个文件夹?
-
09-06-2019 - |
题
我想将文件或文件夹从同一存储库中的一个位置移动到另一个位置,而无需使用存储库浏览器来执行此操作,也无需创建两个独立的添加/删除操作。使用 Repo 浏览器可以正常工作,只是您的代码将处于损坏状态,直到您随后签入任何支持更改(例如 .csproj 文件)。
更新:人们建议从命令行“移动”。有等效的 TortoiseSVN 吗?
解决方案
使用以下命令移动一个或一组文件 Tortoise SVN
, ,右键单击目标文件并将其拖至目的地,然后释放鼠标右键。弹出菜单将有一个 SVN move versioned files here
选项。
请注意,目标文件夹必须已添加到存储库中 SVN move versioned files here
选项出现。
其他提示
svn move
— 移动文件或目录。
在 Windows 资源管理器中,使用鼠标右键单击文件并将其从当前位置拖动到所需位置。释放鼠标右键后,您将看到一个上下文菜单,其中包含“SVN 在此处移动版本控制文件”等选项。
在 TortoiseSVN 下,请参阅以下页面: http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-copy.html
如果你想移动文件 和 保持 csproj 文件最新,最简单的方法是使用 Visual Studio 插件,例如 安赫SVN. 。这将自动提交移动操作(作为删除+添加历史记录,因为这就是 Subversion 的工作方式)和 .csproj 中的更改
从命令行,您可以输入 svn mv path1 path2
. 。这将创建一个添加和删除操作,但据我所知,在 Subversion 中并没有真正解决这个问题的方法。
Subversion 还没有一流的重命名操作。
这个问题有一个 6 年前的 bug: http://subversion.tigris.org/issues/show_bug.cgi?id=898
1.6 正在考虑使用它,现在已经添加了合并跟踪(更高的优先级)(在 1.5 中)。
使用 Tortoise 的 RENAME 命令,然后输入相对路径(“folder/file.ext”)。
如前所述,您将创建添加和删除命令。您可以在工作副本或存储库 URL 上使用 svn move。如果您使用工作副本,则不会提交更改 - 您需要在单独的操作中提交。
如果您通过 svn 移动 URL,则需要提供 --message,更改将立即反映在存储库中。
使用 svn move
移动文件/文件夹的命令。