如何告诉TortoiseSVN重命名的文件被重命名(不是删除并重新添加)?
这里使用 VisualSVN 和 TortoiseSVN。
我已经重命名了我的文件。我注意到它说添加和删除对我来说意味着历史记录可能会被删除?
在 Subversion 中重命名文件而不丢失历史记录的最佳方法是什么?
Using VisualSVN and TortoiseSVN here.
I've renamed my file. I notice it say add and delete which to me means history may be erased?
What is the best way to rename a file without losing history in Subversion?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
发布评论
评论(6)
只有一腔孤勇2024-08-27 07:54:59
从 TortoiseSVN 上下文菜单中进行重命名不会删除历史记录。如果您想查看重命名之前的更改,请确保在查看更改日志时不使用 --stop-on-copy 标志:
svn log -v -r 0:N --limit 100 [--stop-on-copy] PATH
or
svn log -v -r M:N [--stop-on-copy] PATH
请参阅此处以供参考:
http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-cli -main.html
夏花。依旧2024-08-27 07:54:59
对于移动和重命名等文件操作,我通常更喜欢使用 TortoiseSVN Repo 浏览器,然后是本地 SVN 更新。当然,只有当您希望将操作立即提交到存储库时,这才适用。
~没有更多了~
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
历史记录不会被删除,但您将丢失历史记录跟踪,因为它似乎是两个不相关的文件。
来自 TortoiseSVN 文档:
还涵盖了许多其他案例。
更新
当 Subversion 不知道这是重命名时,历史记录就会丢失,如下所示:
要保留文件历史记录,您需要使用上下文菜单(或命令行)中的重命名选项。 如果您已经重命名了文件,那么:
因此,要恢复,在提交对话框中添加(+)意味着将保留历史记录,添加意味着丢失历史记录。在这两种情况下,旧文件名都会显示为已删除。
更新2
当我说历史丢失时,请理解以前的信息仍然存在,但它不会出现在当前文件名的日志中,你必须手动跟踪它(这这可不是一件令人愉快的事情)。
The history won't be erased, but you will lose history tracing, as it would seem to be two unrelated files.
From TortoiseSVN docs:
Many other cases are covered.
Update
The history is lost when Subversion doesn't know it's a rename, like this:
To preserve file history, you need to use the Rename option from the contextual menu (or from the command line). IF you already renamed the file then:
So, to resume, in the commit dialog added (+) means that history will be preserved, and added means loosing the the history. In both cases, the old file name will appear as deleted.
Update 2
When I say that history is lost, please understand that the previous information still exists, but it won't be present in the log of the current file name, and you must manually track it (which is not quite a pleasant thing to do).