使用 Subversion 记录已发生的复​​制或移动

发布于 2024-08-20 05:02:46 字数 107 浏览 1 评论 0原文

Mercurial 为移动和复制提供了 -A, --after 选项,它会在这些操作发生后记录这些操作。

我怎样才能使用 Subversion 实现这一目标?

Mercurial provides a -A, --after option for moves and copies, which records those operations after they've already occurred.

How can I achieve this using Subversion?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

一桥轻雨一伞开 2024-08-27 05:02:46

因此,如果没有更好的答案,这是我想出的最佳机制:

# file was added
touch a
svn add a
svn ci

# file was moved without versioning
mv a b

# file versioning is added
mv b a
svn mv a b

请记住,您不能 svn cp a b,因为 svn 将彻底拒绝复制到除非是目录,否则存在的目标。

So without a better answer, here's the best mechanism I've come up with:

# file was added
touch a
svn add a
svn ci

# file was moved without versioning
mv a b

# file versioning is added
mv b a
svn mv a b

Keeping in mind you can't svn cp a b, as svn will outright refuse to copy to a target that exists unless it is a directory.

↙温凉少女 2024-08-27 05:02:46

你不能只记录它。

您可以做的就是再次进行复制并覆盖旧的复制目标。

You can't only record it.

What you can do is to do the copy again and overwrite the old copy target.

东京女 2024-08-27 05:02:46

Subversion 仅支持事后记录合并,而不支持复制和/或移动...

Subversion only supports recording merges after the fact, not copies and/or moves...

π浅易 2024-08-27 05:02:46

坦率地说,不,在 Subversion 中没有办法做到这一点。假设您没有进行任何其他更改,您可能需要执行 svn revert,然后执行 svn copy,以便 Subversion 知道您已复制该文件。或者,如果您并不真正关心复制文件的历史记录,只需 svn add 新位置即可。

Bluntly, no, there's no way to do this in Subversion. Assuming you've made no other changes, what you probably want to do is an svn revert and then do an svn copy so Subversion knows you've copied the file. Or if you don't really care about history for a copied file, just svn add the new location.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文