250

我想在同一个存储库中将文件或文件夹从一个位置移动到另一个位置,而无需使用 Repo Browser 来执行此操作,也无需创建两个独立的添加/删除操作。使用 Repo 浏览器可以正常工作,只是您的代码将处于损坏状态,直到您之后签入任何支持更改(例如 .csproj 文件)。

更新:人们建议从命令行“移动”。是否有 TortoiseSVN 等价物?

4

11 回答 11

449

要使用 移动一个文件或一组文件Tortoise SVN,请右键单击目标文件并将其拖动到其目标位置,然后释放鼠标右键。弹出菜单将有一个SVN move versioned files here选项。

请注意,必须已将目标文件夹添加到存储库中SVN move versioned files here才能显示该选项。

于 2008-09-15T13:05:04.557 回答
60

svn move— 移动文件或目录。

http://svnbook.red-bean.com/en/1.0/re18.html

于 2008-09-15T13:00:21.167 回答
22

在 Windows 资源管理器中,使用鼠标右键单击文件并将其从其所在位置拖动到您想要的位置。释放鼠标右键后,您将看到一个上下文菜单,其中包含“SVN 将版本化文件移至此处”等选项。

http://tortoisesvn.net/most-forgotten-feature

于 2008-09-15T13:06:23.260 回答
6

在 TortoiseSVN 下,请参阅以下页面:http ://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-copy.html

于 2008-09-15T13:07:21.837 回答
5

如果你想移动文件保持 csproj 文件是最新的,最简单的方法是使用像AnkhSVN这样的 Visual Studio 插件。这将自动提交移动操作(作为带有历史记录的删除+添加,因为这就是 Subversion 的工作方式)和 .csproj 中的更改

于 2008-09-15T13:03:10.630 回答
4

在命令行中,您可以键入svn mv path1 path2. 这将创建一个添加和删除操作,但据我所知,在 Subversion 中并没有真正的解决方法。

于 2008-09-15T12:59:39.983 回答
3

Subversion 还没有一流的重命名操作。

这个问题有一个 6 年前的错误:http ://subversion.tigris.org/issues/show_bug.cgi?id=898

它正在考虑用于 1.6,现在已添加合并跟踪(更高优先级)(在 1.5 中)。

于 2008-09-15T13:03:42.440 回答
1

使用 Tortoise 的 RENAME 命令,并输入一个相对路径(“folder/file.ext”)。

于 2010-05-30T04:53:14.920 回答
1

您必须使用鼠标右键拖动文件。将文件发布到新目的地的那一刻,您将看到以下选项:

SVN 将版本化文件移至此处。

只需选择此选项即可完成!

于 2019-07-09T12:37:14.527 回答
0

使用svn move命令移动文件/文件夹。

于 2008-09-15T13:00:12.540 回答
0

如前所述,您将创建添加和删除命令。您可以在工作副本或存储库 url 上使用 svn move。如果您使用工作副本,则不会提交更改 - 您需要在单独的操作中提交。

如果你 svn 移动一个 URL,你需要提供一个 --message,并且更改将立即反映在存储库中。

于 2008-09-15T13:05:18.817 回答