1 votes

Invoquer des commandes mercuriales pour tous les répertoires d'un répertoire donné

Disons que j'ai environ 10 dépôts hg clonés dans un répertoire parent (appelons-le "parent"). Existe-t-il un moyen d'invoquer une commande mercuriale telle que hg status sur tous les sous-répertoires plutôt que de réaliser l'acte laborieux de cd dans chaque répertoire, puis en invoquant hg status ?

J'ai essayé le bon vieux xargs mais pour une raison quelconque, cela ne fonctionne pas. Les commandes que j'ai utilisées sont :

find . -maxdepth 1 -type d -print | xargs -t "hg status"

et

ls | xargs -t "hg status"

Mise à jour : la solution consistait à utiliser des titulaires de nom explicites lors de l'utilisation de xargs . Quelque chose comme :

ls | xargs -t -I {} hg status {}

2voto

phlatfish Points 1
for dir in ./*/
do
  (cd $dir && hg status)
done

1voto

Ole Tange Points 426

Si hg permet de fonctionner en parallèle, vous pouvez utiliser GNU Parallel

parallel cd {} '&&' hg status ::: ./*/

Sinon, vous pouvez ajouter -j1 :

parallel -j1 cd {} '&&' hg status ::: ./*/

Regardez la vidéo d'introduction pour en savoir plus : http://www.youtube.com/watch?v=OpaiGYxkSuQ

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X