Comprometer el proyecto de Android al repository

Estoy comprometiendo un proyecto de Android en un repository por primera vez y tengo algunas consultas,

En primer lugar, solo quiero asegurarme si está bien no comprometer las carpetas /gen y /bin .

En segundo lugar, ¿podría avisarme qué tipo de estructura se recomienda para el repository de proyectos de Android?

Actualmente tengo una aplicación, pero en el futuro espero crear otros sabores de la aplicación.

Aquí están los proyectos actuales que deben entrar al repository.

  • Proyecto de biblioteca
  • Solicitud
  • Aplicación gratuita

Tanto la aplicación como la aplicación gratuita usan el proyecto de la biblioteca.

Finalmente, ¿algún consejo sobre qué sistema de control de versiones se usa activamente? Tengo experiencia con Source Safe y Subversion. No estoy muy familiarizado con Git.

No soy un experto en Android, así que tome esto con un grano de sal …

En general, no desea enviar ningún binary generado al repository. La principal exception son las bibliotecas de terceros de las que depende el código. Esos deben ir en un directory separado.

La Biblioteca debe estar en un repository y la Aplicación (es) en otro. Dependiendo de qué tan cerca estén las dos aplicaciones, puede tener las dos en un repository y solo tener una configuration de time de compilation que determine cuál se comstack, etc.

Recomiendo usar git. Los otros sistemas que menciona ya no son opciones de primera class para el control de versiones.

Sí, puedes (y debes) dejar las carpetas / gen y / bin fuera de tu confirmación. Puede usar cualquier estructura que quiera, pero puede basarla en un proyecto existente, como Gaug.es , por ejemplo. Para el sistema de control de fuente, puedes usar lo que quieras, sin embargo, Git ha estado ganando bastante tracción últimamente. Deberías aprender Git de todos modos, ya que definitivamente será útil.

Si puedo suponer que está utilizando Eclipse para el desarrollo, subclipse es muy fácil de usar. Si hay otros para Git, no estoy seguro ya que uso SVN.

Cualquier cosa que se genere con cada compilation debería dejarse de lado, por lo que el sistema de control de versiones puede ignorar de forma segura las carpetas gen y build, como con cualquier reference a otros proyectos. Cada proyecto debe tener su propio repository.

Generalmente, la convención seguida en repositorys SVN tiene la siguiente estructura:

 reponame |-trunk | |- main_project_folder |- tags |- branches 

Si está pensando en usar Git, mire el enlace proporcionado por @dmon.