有没有人有过在乌龟中移动文件并成功提交的经验,只是后来提交了不同的更改并被告知树冲突,其中:
- 原始位置的文件已被删除,但在 tortoise 中被标记为丢失
- 新位置的文件在那里,但标记为已添加。
(我使用乌龟SVN,我们有客户端和服务器> 1.60)
没有其他人更改目录或文件(根据 svn log)。
- 为什么会这样?
- 有没有办法避免它发生?
- 如果确实发生了,有没有比删除整个文件夹并再次更新更优雅的方法来解决问题?
有没有人有过在乌龟中移动文件并成功提交的经验,只是后来提交了不同的更改并被告知树冲突,其中:
(我使用乌龟SVN,我们有客户端和服务器> 1.60)
没有其他人更改目录或文件(根据 svn log)。
听起来您可能使用 Windows 资源管理器的“移动”命令而不是 Tortoise 的“移动”命令移动了文件。前者只是在文件系统中移动文件而不更新颠覆树(从版本控制中删除旧文件并将旧文件的历史链接到新文件)。
始终使用 TortoiseSVN 的“移动”命令,或者如果您想在没有历史记录的情况下移动文件,则使用 Windows 资源管理器复制文件,使用 Tortoise 添加新版本,然后使用 Tortoise 删除旧版本。
您可以右键单击旧文件的父文件夹,选择“检查修改”,然后从版本控制中删除标记为缺失的文件。
听起来您提交了文件,但没有提交它移入/移出的目录。您还需要提交目录。
通过右击文件夹,选择“重命名”并使用“newpath\to\folder”作为参数,我陷入了树冲突。经过多轮失败的清理命令和其他一些事情后,我终于通过以下方式恢复了理智:
手动更新文件的无缝历史链已损坏,但至少我现在可以继续工作。