2010-10-29 24 views
29

He estado presionando mi fuente a un repositorio de Mercurial. Hoy necesitaba borrar mi copia local y volver a clonar. Hice esto simplemente moviendo mi copia local a otra parte (por si acaso) y escribiendo "hg clone url".Apertura del proyecto existente desde el control de origen

Esta parte ha funcionado bien.

Sin embargo, cuando intento tirar de la copia local recién clonado en Eclipse, me sale el siguiente error:

/Users/Andrew/Dev/Workspace/Android/MyProject overlaps the location of another project: 'MyProject' 

Mi conjetura es que he estado cometiendo algún archivo meta o algo que no debería tener. ¿Alguien tiene alguna idea? Aquí está mi .hgignore:

syntax: regexp 
\.DS_Store 
.swo 
.swp 
.metadata/ 
/bin/ 

Nota: Parece que mi hgignore no está bloqueando la carpeta gen. Podría ser esto parte del problema?

Respuesta

54

Hay un error en Eclipse lo que no le permitirá crear un proyecto de Android a partir de fuentes existentes:

http://code.google.com/p/android/issues/detail?id=8431

Tienes que mover MiProyecto a una carpeta que no tiene ninguna otra proyectos en sus subdirectorios. A continuación, puede crear un nuevo proyecto desde la fuente existente con MyProject. Elimine el nuevo proyecto del área de trabajo sin eliminar el contenido del disco y vuelva a moverlo a su carpeta Android. Ahora haga una importación -> General -> Proyecto existente en el espacio de trabajo, y MyProject debe estar disponible para importar.

Esta es la única forma en que he podido hacerlo.

+7

Gracias, esta respuesta también resolvió mi problema. No parece estar aislado de los proyectos de Android. Me sorprende que el error todavía exista. – Nate

+0

Gracias, me salvaste un tiempo. Todavía tengo este error hoy con Eclipse Juno y las herramientas de Android 21 –

+1

¿Qué haría sin Stack Overflow? ¿Cuánto tiempo me hubiera llevado resolver esto por mi cuenta? ¡Mucho tiempo! –

0

Creo que el problema es que ha movido su copia local de distancia y luego intenta agregar otro proyecto en Eclipse en la misma ubicación que lo que tenía antes y que sólo son confusas Eclipse ...

lo haría recomendamos intentar usar comandos de línea de comando para Mercurial y cuando ingrese a Eclipse, primero limpie los proyectos existentes antes de agregar otro.

+0

No estoy tan seguro de que esto sea correcto. Hice que un amigo tirara de mi fuente (que nunca la había sacado antes) y está teniendo el mismo problema. Si establece su directorio de trabajo de Eclipse en ../Dev/Workspace/Android, coloca el proyecto allí e intenta abrirlo en Eclipse, obtiene el mismo error. – Andrew

+0

Eclipse crea los archivos .project y .classpath y la carpeta .settings. Esos no son necesarios para el Android en sí ... tal vez usted puede verificar eso? – Matthieu

+0

Lo intentaré. Gracias – Andrew

6

Ok, voy a tratar de resumir, y después me enfrentaba a problemas similares y perdido algo de tiempo:

Eclipse Juno /4.2 SR1 (sin embargo, creo que es un malentendido general de proyectos importaciones cómo Eclipse)

  1. Si usted quiere que su nuevo proyecto "conectado" a GIT/mercurial, que tendrá que clonar e importación a través de "Importar/Git/Importar de Git"
  2. se fallará si su "espacio de trabajo dir" es igual al "dir de destino local". ¡No se debe colocar un clon git a través de egit! en el "espacio de trabajo del eclipse dir"!

La importación del proyecto fallará porque el nombre del proyecto en el "archivo .project" clonado ya existe en el directorio del espacio de trabajo del eclipse cuando se produce la importación.

+0

Esta es la solución que funcionó para mí. Importar desde git, en lugar de Android. – syonip

0

Mi solución fue solo para importar como proyecto general no android uno.

0

Me encontré con este problema al tratar de importar un proyecto git repo y sus submódulos. Terminé usando importación -> git -> Proyectos de Git (complemento git). Esto entendió muy bien el concepto de un proyecto dentro de un proyecto. El proyecto ahora es monitoreado por ese complemento. Es un intercambio bastante bueno para mí.

Cuestiones relacionadas