【问题标题】:How to properly delete Java packages under SVN control?如何正确删除SVN控制下的Java包?
【发布时间】:2012-10-01 16:21:01
【问题描述】:

我有一个 Java 项目,并且正在使用带有 Subversive SVN 插件的 Eclipse (Indigo)。我已经成功设置了一个用于项目 repo 的远程 SVN 服务器。

我最近决定不再需要一个包含一些未使用类的包。所以我做了以下事情:

  1. 我从包资源管理器中删除了包及其所有内容
  2. 然后我右键单击项目的根目录,然后转到团队 >> 与存储库同步
  3. 我发现新删除的包出现在同步 SVN 面板下的更改列表中,右键单击该包,然后选择“提交”。我的想法是,“我已经在本地删除了包,现在我想将这些删除更改提交到服务器。

没有提交了更改,我收到了一条错误消息(我没有看到...),现在这是我在包资源管理器中看到的内容(net.appuzi.domain.loads.http 包是我删除的那个):

现在,如果我回到 Team >> Synchronize with Repository,我会看到这样的包:

如果我选择两个 Java 源并尝试“覆盖并提交”它们,我会收到以下错误:

Some of selected resources were not committed.
svn: Commit failed (details follow):
svn: '/<path-to-my-project>/MyProject/src/main/java/net/appuzi/domain/loads/http/HttpMethod.java' is not under version control

所以我的直接问题是:如何“同步”我的本地工作副本和存储库,以便这个已删除的包不再存在于任何一个中(在服务器端,我将致力于 trunk/)。

除了那个直接的问题,即我当前的拦截器,我想下一个合乎逻辑的问题是:在 SVN 中删除受版本控制的包的正确程序是什么?“提前致谢!

【问题讨论】:

  • 我从来没有想过“与存储库同步” - 我只需右键单击包资源管理器中的(已删除)包并完成团队 -> 从那里提交......

标签: java svn eclipse-indigo subversive


【解决方案1】:

在尝试删除之前,请尝试确保您的本地文件与远程文件相同。这样,检测到的唯一更改是删除整个文件,Eclipse 不会对冲突感到困惑。只需根据需要更新或恢复,然后再次尝试删除。

【讨论】:

  • 这对我有用,我无法在 Team Synchronize 视图中提交,但可以从包资源管理器中提交。
【解决方案2】:

试试这个:

  1. 删除包。
  2. 在项目浏览器中右键单击您的项目。
  3. 转到“团队”并点击“更新到 HEAD。
  4. 再次转到“团队”并单击“提交...”。

祝你好运

【讨论】:

    【解决方案3】:

    我之前遇到过类似的问题,我所做的只是提交父文件夹。在你的情况下“src”。取回这些文件并再次删除它们,这次提交父文件夹。

    希望这会有所帮助。

    【讨论】:

      【解决方案4】:

      只需使用 Svn 存储库探索删除文件夹,然后更新项目。

      【讨论】:

        【解决方案5】:

        我有一个类似的问题,包从 SVN 存储库中删除,但仍然显示在 Eclipse 的同步视图中。我的 Eclipse 中安装了 subversion 插件。为了解决我的问题,我断开了项目与 SVN 的连接(右键单击项目 --> 团队 --> 断开连接...),同时选择选中“同时从文件系统中删除 SVN 元信息”选项。

        断开连接后,我将项目重新连接到 SVN,再次与存储库同步,已删除的包/文件在同步视图中不再可见。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-04
          • 1970-01-01
          • 2023-04-03
          • 1970-01-01
          • 2019-11-28
          相关资源
          最近更新 更多