Estado de repository de propósito general

Utilizo tanto git como mercurial para diferentes proyectos, e invariablemente siempre escribo el command incorrecto la primera vez que visito el directory ( hg status para un git repo y viceversa).

¿Hay scripts de repository de propósito general que determinarán automáticamente el tipo de depósito y luego pasarán el command a través del progtwig apropiado?

Obtener el equivalente del hg status de hg status y el hg status git status en un command sería un buen lugar para comenzar, aunque también sería bueno tener más capacidades (commits, push / pull, etc …).

Solutions Collecting From Web of "Estado de repository de propósito general"

Esto debería hacerlo (no probado):

 vcs() { if git remote > /dev/null 2>&1 then git "$@" else hg "$@ fi } 

Por supuesto, puedes usar prácticamente cualquier command de git o hg para arbitrar. git remote tiene la ventaja de ser rápido y no producir una gran cantidad de salida.

Obviamente, si desea que las características específicas que son fundamentalmente diferentes en los dos sistemas se traduzcan a la perfección, se trata de un trabajo bastante descomunal.

Tal vez la extensión de HgGit a Mercurial ayude.