2011-04-15 7 views
7

Tengo un repositorio mercurial que tiene varios proyectos (desde un sentido IntelliJ IDEA) dentro de él. por ejemplo, podría tener:resolviendo el desacuerdo de raíz del proyecto IDEA Mercurial e IntelliJ?

foo/ 
    projects/ 
      project1/ 
        .idea/ 
      project2/ 
        .idea/ 

puedo empujar, tirar, etc. cometer bien con la línea de comandos y TortoiseHG. He habilitado Mercurial (complemento hg4idea) dentro de IntelliJ pero casi nada parece estar funcionando. Si agrego un archivo de código fuente, no se agrega, para los archivos que agregué manualmente no muestran cambios. En IntelliJ, el menú de Mercurial está habilitado, pero "agregar a VCS" siempre está atenuado. Sin embargo, IntelliJ enumera correctamente los conjuntos de cambios disponibles desde un repositorio remoto.

En la ventana de control de versiones para comandos como "hg status" tengo errores como:

abort: repository C:/foo/projects/project1 not found! 

Los comandos como "hg incoming" parecen estar teniendo éxito.

Sospecho que esto podría deberse a que la raíz del proyecto (project1) está debajo de la raíz del repositorio (foo). ¿Alguien sabe cómo resolver este problema? ¿Hay algún cambio de configuración que pueda hacer? Si es así, ¿dónde está la configuración?

Estoy utilizando la última (10.0.3) edición IntelliJ IDEA Community.

Respuesta

13

Me las arreglé para solucionar este problema por mi cuenta. Cuando habilita el proyecto para Mercurial, IntelliJ establece la raíz del proyecto de forma predeterminada como el directorio mercurial del repositorio. Con la ayuda of this help page resolví que esto era lo que necesitaba cambiar.

  1. Ir al cuadro de diálogo Configuración (File-Ajustes)
  2. Elija Control de versiones
  3. En el nivel superior se muestra una lista de directorios y de VCS, mío dijo "raíz del proyecto" y "mercurial"
  4. Haga clic en "Eliminar" para eliminar la asignación existente.
  5. Haga clic en "Agregar" para agregar una asignación, y use el botón "..." para elegir la raíz mercurial - "foo" en el ejemplo anterior.

Esto cambia el archivo vcs.xml en el directorio .idea.

+0

Amablemente, la última versión de IntelliJ realmente va indicador * * que añadir raíces no registrados cuando se va a * * Configuración → Control de versión **. –

0

Los pasos proporcionados por Nick funcionan para mí en una configuración similar con múltiples proyectos que viven en el mismo repositorio de Mercurial.

Me preocupaba que idea sería usar rutas absolutas en vcs.xml pero es más inteligente:

<?xml version="1.0" encoding="UTF-8"?> 
<project version="4"> 
    <component name="VcsDirectoryMappings"> 
    <mapping directory="$PROJECT_DIR$/.." vcs="hg4idea" /> 
    </component> 
</project> 
Cuestiones relacionadas