Mercurial ignore-file para desarrollo de Eclipse y Android
hgignore (5)
He visto muestras para Mercurial ignorar archivos para Visual Studio , entre otros.
Acabo de empezar a jugar con el desarrollo de Android, y también uso este tiempo para experimentar con Mercurial. Así que mi pregunta es: ¿alguien tiene un buen ejemplo de un archivo .hgignore
para usar en el desarrollo de Eclipse y Android?
Para empezar, tengo lo siguiente:
# use glob syntax
syntax: glob
# Ignore patterns
.metadata/
bin/
gen/
¿Hay algún otro patrón de ignorar que debería incluirse? ¿Debería, por ejemplo, .classpath
archivos Eclipse .classpath
y .project
del control de versión también?
- Editar a continuación -
Todavía no he obtenido las respuestas que esperaba, así que sacaré una recompensa e intentaré especificar un poco más claro lo que estoy buscando.
Después de experimentar un poco conmigo mismo, parece haber encontrado que el .hgignore
sugerido .hgignore
mencionado parece ser suficiente. La única adición que he hecho, es una línea con .settings
(esta fue una carpeta que apareció después de ejecutar Herramientas de Android -> Reparar propiedades del proyecto ). También encontré (como lo menciona Ry4an) que los archivos Eclipse .classpath
y .project
no deberían excluirse.
Sin embargo, no estoy seguro de que este pequeño archivo de ignorar sea suficiente cuando llegue a proyectos un poco más grandes que los tutoriales básicos (si realmente todo está bien, por favor explique por qué, y obtendrá el crédito). Entonces, para resumir lo que estoy buscando:
- Quiero un ejemplo concreto para un archivo
.hgignore
para un proyecto de Android bajo Eclipse - El archivo de ignorar debe ser tal que cada vez que revise una copia del repositorio en una nueva ubicación, funcione inmediatamente (es decir, sin tener que meterse con rutas y referencias, agregar archivos perdidos, etc.)
- Explique también por qué su archivo de inclusión se parece a él (quiero entender por qué ciertos archivos / directorios están excluidos (y por qué algunos definitivamente deberían incluirse))
- Si incluye exclusiones específicas del sistema operativo, indíquelo también (estoy ejecutando Windows 7 por cierto).
Aquí está mi hgignore:
syntax: regexp
/.DS_Store
.swo
.swp
.metadata/
/bin/
Si es bueno o no es un tema aparte
Los archivos de eclipse definitivamente deberían ser agregados. La pauta general es agregar:
- todo lo que está escrito a mano / mecanografiado
- el subconjunto mínimo de todo lo demás necesario para construir el proyecto
Ese último es donde entra su juicio. Claramente excluye los archivos .jar que construye usted mismo y su archivo .apk final, pero ¿incluye los archivos .jar de terceros que usa? Algunas personas sí las incluyen, pero es mejor incluir un archivo de configuración para un administrador de dependencias como ''ivy'', que permite al próximo desarrollador descargar los requisitos que necesita automáticamente.
Después de crear automáticamente un proyecto en mis herramientas de elección, solo voy a hacer un comando como este:
hg status --unknown --no-status >> .hgignore
que agrega la lista de todos los archivos desconocidos a .hgignorar. Luego entro y elimino cosas que quiero guardadas (ej .: proyecto) y archivos comodín que crecerán hermanos (por ejemplo: ** clase)
bien si sus proyectos de Android que
local.properties también debe ser ignorado
Hay una muy buena muestra .hgignore para Android en http://androidfragments.blogspot.com/2011/11/hgignore-for-android.html
He encontrado un buen ejemplo de .hgignore. Esto funciona para mi.
#Mercurial Ignore Rules for Android
#Save as .hgignore in the repository base directory and add it to source control.
syntax: glob
*.class
*.apk
*.dex
*.ap_
*.suo
syntax: regexp
^(.*[///])?gen[///].*
^(.*[///])?bin[///].*
^(.*[///])?obj[///].*
^(.*[///])?log[///].*
^(.*[///])?obf[///].*
^(.*[///])?jars[///].*
^(.*[///])?jar-sources[///].*
^(.*[///])?javadoc[///].*
^(.*[///])?/.svn[///].*
^(.*[///])?/.metadata[///].*
^(.*[///])?/.settings[///].*
Fuente: http://androidfragments.blogspot.ru/2011/11/hgignore-for-android.html