hg agrega directory completo a pesar de estar listdo en .hgignore

Tengo dos twigs en mi repository mercurial con el mismo file .hgignore: dir/

Una twig (desarrollo) debe ignorar este directory, mientras que la otra (versión) no debe ignorarla. Sé que puedo usar hg add dir/somefile pesar de la input en el file .hgignore. Pero ahora me gustaría agregar todo el directory recursivamente.

Lo busqué e intenté

 hg add dir # does not add anything hg add dir* # does not add anything hg add dir/ # does not add anything hg add dir/* # only adds the files in dir but not in sub-directories hg add dir/** # only adds the files in dir but not in sub-directories 

Pero eso no ha funcionado recursivamente. Podría usar add dir/* dir/*/* dir/*/*/* y así sucesivamente, pero eso es molesto. ¿Hay otro comodín que tengo que usar en su lugar o tal vez otra forma de lograr esto?

PD: me gustaría evitar cambiar el .hgignore.

Mientras tanto, pude encontrar-lo que parece ser-una solución:

 hg add --dry-run --verbose `hg status --ignonetworking --no-status --exclude **.DS_Store dir/` 

Esto muestra una list de files que agregaría. Si realmente desea agregarlos, use el siguiente command:

 hg add `hg status --ignonetworking --no-status --exclude **.DS_Store dir/` 

Espero que esto ayude a alguien.

Si tiene acceso para find , puede hacer algo como lo siguiente:

 find docs -exec hg add {} \; 

Siempre que ejecute commands con find, siempre es bueno hacer primero una carrera en seco, así que generalmente pego un echo delante del command primero:

find docs -exec echo hg add {} \;

Si necesita agregar suficientes files de los que el performance es una preocupación, puede usar + lugar de \; , que agregará todos los nombres de file coincidentes al mismo command en lugar de ejecutar el command una vez para cada nombre de file. Para hg add esto no es probable que sea un problema, pero es importante para entender cómo funciona.

find docs -exec hg add {} +

Desafortunadamente, .hgignore ignorará todo lo que no sea una ruta completa a un file y se respeta incluso cuando se evalúan los patrones. Hay una publicación en StackExchange que contiene alternativas que podrías usar (suponiendo que no quisieras cambiar .hgignore )