Digamos que tengo alrededor de 10 hg repositorios clonados en un directorio padre (llamémoslo "padre"). ¿Hay alguna forma de invocar un comando mercurial como hg status
en todos los subdirectorios en lugar de realizar el laborioso acto de cd
ingresar a cada directorio y luego invocar hg status
?
Probé lo bueno, xargs
pero por alguna razón no funciona. Los comandos que utilicé son:
find . -maxdepth 1 -type d -print | xargs -t "hg status"
y
ls | xargs -t "hg status"
Actualización: la solución fue usar titulares de nombre explícitos al usar xargs
. Algo como:
ls | xargs -t -I {} hg status {}
Respuestas:
fuente
xargs
combinación? Si no, agradecería si pudiera explicar por qué mi único revestimiento no funciona. Gracias.hg
comando; esta respuesta emite múltipleshg
comandos en diferentes directorios (¡oh, y usa puntos y comas en lugar de líneas nuevas y eso es una línea!)ls | xargs grep "something"
funciona perols | xargs hg status
no funciona?grep
acepta múltiples archivos como argumentos mientrashg status
que no.ls | xargs -t -I {} mv {} {}.old
? De todos modos, he encontrado la solución y es usar explícitamente marcadores de posición enxargs
. Gracias por guiarme en el camino correcto, aceptaré tu respuesta ya que también hace lo que buscaba. :)Si
hg
permite ejecutar en paralelo, puede usar GNU ParallelSi no puede agregar -j1:
Mire el video de introducción para obtener más información: http://www.youtube.com/watch?v=OpaiGYxkSuQ
fuente