解决Mercurial和IntelliJ IDEA项目根不匹配问题?

Nic*_*cue 7 mercurial intellij-idea

我有一个mercurial存储库,里面有几个项目(来自IntelliJ IDEA意义).例如,我可能有:

foo/
    projects/
          project1/
                  .idea/
          project2/
                  .idea/
Run Code Online (Sandbox Code Playgroud)

我可以使用命令行和TortoiseHG来推送,拉取,提交等.我在IntelliJ中启用了Mercurial(hg4idea插件),但似乎几乎没有任何工作.如果我添加一个源代码文件,它就不会被添加,对于我手动添加的文件,它们没有显示任何更改.在IntelliJ中,Mercurial菜单已启用,但"添加到VCS"始终显示为灰色.但是,IntelliJ正确地列出了远程存储库中的可用更改集.

在"hg status"等命令的"版本控制"窗口中,我收到如下错误:

abort: repository C:/foo/projects/project1 not found!
Run Code Online (Sandbox Code Playgroud)

像"hg incoming"这样的命令似乎成功了.

我怀疑这可能是因为项目根(project1)低于存储库根目录(foo).有谁知道如何解决这个问题?我可以进行配置更改吗?如果是这样,在设置中的位置是什么?

我正在使用最新的(10.0.3)IntelliJ IDEA社区版.

Nic*_*cue 13

我自己设法完成了这个工作.为Mercurial启用项目时,IntelliJ默认将项目根目录设置为mercurial存储库目录.在这个帮助页面的帮助下, 我发现这是我需要改变的.

  1. 转到"设置"对话框(文件设置)
  2. 选择版本控制
  3. 在顶层它显示了一个目录和VCS列表,我说"项目根"和"Mercurial"
  4. 单击"删除"以删除现有映射.
  5. 单击"添加"以添加映射,并使用"..."按钮选择mercurial根 - 上例中的"foo".

这会更改.idea目录中的vcs.xml文件.