ChatGPT解决这个技术问题 Extra ChatGPT

如何在 TortoiseSVN 中将文件(或文件夹)从一个文件夹移动到另一个文件夹?

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

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


J
James Oravec

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

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


我需要做同样的事情,而且效果很好。从来不知道这个选项。非常感谢!
谢谢!注意:之后,它会在更改日志中显示一堆 DELETED 和 ADDED 文件和目录,但修订历史记录确实遵循这些文件。 :)
如果我已经移动了文件但 svn 仍然认为它在另一个目录中,我该怎么办?
您还(当然在 v1.7.6 中)需要确保您正在移动文件的目录已经添加了颠覆
传奇的答案让我很开心,ty!
T
Tomasz Nurkiewicz

svn move — 移动文件或目录。

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


y
yknott

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

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


u
user7070

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


S
Sander Rijken

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


C
Clinton Dreisbach

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


s
swmc

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

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

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


W
WhyNotHugo

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


k
kenlukas

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

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

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


d
dwilkins

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

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


S
Sergey Telshevsky

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