【问题标题】:IntelliJ and SVN: "no changes detected" upon commitIntelliJ 和 SVN:提交时“未检测到更改”
【发布时间】:2011-07-06 02:08:25
【问题描述】:

我正在尝试使用 Subversion 在我的台式机和笔记本电脑之间共享一个项目。该项目有3个模块。我已将项目文件夹导入到我的笔记本电脑可以通过网络访问的共享文件夹中的存储库中。

我在笔记本电脑上检查了该项目,然后尝试打开该项目。没有任何模块可见,只有项目的 .iml 文件,如下面的屏幕截图所示。

我注意到 .iml 文件中有一行“内容 url”,它指的是我桌面上的一个位置。也许这就是问题所在。我能做些什么呢?我是否必须在笔记本电脑上创建一个新项目并导入模块 - 所以会有 2 个不同的顶级 .iml 文件,一个用于台式机,一个用于笔记本电脑?我是不是走错了路?

更新:问题似乎与提交有关。当我对文件进行更改、保存并点击 Commit Changes 时,我收到一个弹出窗口,上面写着“未检测到更改”。这在笔记本电脑和台式机上都是一样的,这意味着我之前在笔记本电脑上下载了错误的版本。我删除了存储库并创建了一个新存储库,我的项目现在可以在我的笔记本电脑上运行,但我无法从 IntelliJ 中提交更改(只能通过文件管理器使用 TortoiseSVN)。此外,当我从台式计算机将项目导入版本控制时,工作副本并未置于版本控制之下。因此,除非我将其签出到其他文件夹,否则我无法从桌面进行更新。

我认为这个版本的 IntelliJ (10.5.1) 的 SVN 插件有问题。是否有其他人在提交更改时遇到问题?

解决方案我需要 1) 更新设置 |版本控制将 Subversion 映射到工作目录 2) 导入版本控制 3) 再检查一遍

这可能是由于这些模块最初是独立项目,它们位于不同的存储库中。无论是什么原因,IntelliJ 的“未检测到更改”对话框都不是最有帮助的。

【问题讨论】:

  • 您确定从第一台计算机提交了所有文件吗? svn log 显示什么?
  • @matt 我想是的...我在桌面上单击提交,它说没有更改,所有文件都在笔记本电脑上。我认为是屏幕截图中显示的这个 .iml 文件,其中包含错误的内容 url。但我不想更改它,因为当我提交时,它会被复制到我的桌面,然后大概该项目不会在那里工作
  • 您可以使用外部 svn 客户端(例如 tortoise SVN(在 Windows 中))检查您是否已提交所有内容,它将为版本控制下的所有文件着色
  • 执行初始导入后,您需要进行检查才能在 IDEA 中使用版本控制。
  • @CrazyCoder 好的,很高兴知道。我可能是错的,但我认为我过去曾与其他项目一起导入 Subversion,并且不必明确签出。

标签: java svn intellij-idea


【解决方案1】:

VCS -> 当 Intellij 突然停止注意到更改时,刷新文件状态为我解决了这个问题。

【讨论】:

    【解决方案2】:

    refer to the FAQ

    对于内容根目录,请确保它位于项目根目录或模块根目录下,在这种情况下,路径将相对于 iml 文件中的项目/模块根目录存储。如果在 iml 中使用了固定的系统特定路径,则该模块将无法在其他系统上运行。

    更新: 在设置 | 在实际工作目录和 Subversion 之间进行显式映射版本控制对话框。如果您使用的是默认占位符并且您的项目文件不在签出根目录下,则可能是这种情况。

    执行初始导入后,您需要进行检查才能在 IDEA 中使用版本控制。

    【讨论】:

    • 我已经做到了。不幸的是,这份文件几乎什么也没说。
    • 那么,你已经提交了 .idea 目录和所有的 .iml 文件了吗?
    • 见上面的更新。由于某种原因,我无法使用 IntelliJ 提交。
    • 在实际工作目录和设置中的 Subversion 之间进行显式映射 |版本控制对话框。如果您使用默认的 占位符并且您的项目文件不在结帐根目录下,则可能是这种情况。
    • 谢谢 - 成功了(然后创建一个新的存储库并将其检出到不同的文件夹中)
    【解决方案3】:

    有时VCS -> Refresh File Status 对我有用。

    其他时候,它什么也不做。

    解决办法是

    1. 将所有文件内容复制到剪贴板/外部记事本(用于备份)
    2. 在需要更新的文件上选择回滚。现在它与服务器是最新的,并且不包含您的新更改。
    3. 再次编辑文件(结帐),然后粘贴您的原始文件内容。
    4. 尝试提交更改。它现在应该可以检测到它们。

    【讨论】:

      【解决方案4】:

      我今天刚刚遇到这个问题——检查了一个现有项目,不得不将 SVN 方案从 1.6(我认为)更新到 1.8。这似乎让 Subversion 没有认识到它的信念是错误的——即使我可以区分并看到相对于最新存储库版本的更改——“未检测到更改”。

      我受够了,我关闭了 Intellij...我心血来潮重新打开它,有问题的文件显示为蓝色...嗯...是的,现在它检测到了更改。

      【讨论】:

      • 我刚刚放弃了 Subversion,开始改用 git!
      • 从 WebStorm 切换到 IntelliJ 后,我在 git 插件上遇到了同样的问题。摆弄设置(不更改任何内容)并重新启动 IntelliJ 就可以了。
      【解决方案5】:

      我遇到了同样的问题,这似乎是由于在两个不同的 GIT 存储库中有一个同名的文件造成的。

      我可以通过打开文件 -> 设置 -> 版本控制然后取消分配并重新分配 GIT 作为两个目录的 VCS 来修复它,这两个目录都有该文件。首先是文件中没有更改的目录,然后是确实有更改的另一个活动目录(但之前没有检测到它们)。

      【讨论】:

        【解决方案6】:

        我今天遇到了类似的问题,我尝试了VCS -> Refresh File Status,但它没有帮助我。当我查看Version Control->Subversion Working Copies Information 时,我发现了一个svn 错误The working copy at /home/project is too old to work with svn client 1.9.4。首先我运行svn upgrade,然后运行VCS -> Refresh File Status 解决了我的问题并且我能够提交我的更改。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-11-16
          • 1970-01-01
          • 1970-01-01
          • 2011-04-28
          • 1970-01-01
          • 1970-01-01
          • 2020-04-15
          • 1970-01-01
          相关资源
          最近更新 更多