0

我有一个在 Subversion 1.6 中运行良好但在 1.7 中不再运行的工作流。

我的代码位于我的笔记本电脑(Mac)上的 Linux 虚拟机中。为了编辑代码,我通过 Samba 将目录挂载到主机上并使用带有 Subclipse 的 Eclipse。

使用 SVN 1.6,我可以在 Linux 命令行上执行“svn switch”,Eclipse 会在刷新项目后看到更改。

在 SVN 1.7 中,情况不再如此。svn 切换后,即使手动刷新,Eclipse 仍然认为它正在使用旧分支。这不仅仅是一个视觉问题,尝试签入代码会将其发送到旧的(错误的)分支。

为什么会发生这种情况,是否有解决方案?

4

2 回答 2

2

在操作系统之间和/或通过网络共享共享工作副本从来不是推荐或支持的配置。它可能似乎适用于 1.6,但一直有警告说随着时间的推移它可能会不太好用。

随着工作副本格式越来越依赖 SQLite 而不是普通文件,这种情况变得越来越真实。

解决方案:不要这样做。将您的工作副本保存在您的客户本地。

于 2013-03-13T13:37:44.950 回答
1

提交本身是通过 Subversion API 完成的,您不需要告诉 API 将其“发送”到哪里。在内部,API 根据它从工作副本元数据中读取的内容来决定。所以说实话,这种情况似乎牵强,不太可能。您是否真的尝试过提交,或者您是否按照 UI 所说的去做?

SVN 1.7 的工作副本布局在 Eclipse 之外完成的更改不会显示在 Eclipse 中。我们添加了一个显式选项(团队 > 清理/刷新)来处理这些场景。这将绕过 Eclipse 的触发器,这些触发器通常会导致刷新并迫使我们去读取 SVN 元数据。

在较旧的 SVN 版本中,因为工作副本元数据存在于每个文件夹中,所以在任何元数据更新时总是会触发正常的 Eclipse 资源刷新。

于 2013-03-13T17:12:01.877 回答