En tant qu'utilisateur, j'utilise habituellement Ici, je voudrais faire cela par programme. Je sais que je peux également utiliser hg st code> pour vérifier l'état d'un repo et vérifiez qu'il est dans un état propre, sans fichiers modifiés. P>
hg st code> pour cela, mais la sortie est inférieure à celle idéale pour la consommation par un programme informatique. Y a-t-il un meilleur moyen de vérifier si un repo mercurial est dans un état propre? P>
4 Réponses :
Si vous émettez la commande Si vous grepez le caractère de cette commande pour le caractère HG Identify --Id code>, il suffit d'identifier avec un caractère
+ code> lorsque le référentiel a modifié des fichiers. (Remarque: ce drapeau ne signale pas les fichiers non traqués.)
+ code>, vous pouvez utiliser l'état de sortie pour déterminer s'il existe des modifications ou non: p>
Impressionnant! Je me demandais ce que ce signe "+" était. Je suppose donc que je suppose que la sortie de hg id-i code> suffit à avoir une bonne idée de l'état d'un repo.
Fonctionne bien pour moi, Mercurial 5.1 ajoute toujours la sortie + à la sortie de "ID HG" pour des fichiers non engagés et sur MacOS au moins l'état de la sortie du GRE fonctionne toujours comme indiqué.
Vous devez utiliser résumé HG code>:
La plupart des principales langues de programmation ont des API HG que vous pouvez accéder. P>
Qu'en est-il de sh code> ou
cmd code>?
Cette réponse pourrait être utile pour les autres personnes à la recherche de ce sujet:
J'accepte que @steve \ kayes commentaire ci-dessus que Statut HG code> est une bonne commande pour la consommation programmatique. P> Voici un exemple de l'utiliser dans un script Bash: P>
#!/bin/bash
set -e
cd /path/to/hg-repo
repo_status=`hg status | wc -l`
if [ $repo_status -ne 0 ]; then
echo "Repo is not clean"
else
echo "Repo is clean"
fi
Je ne vois pas pourquoi la sortie est inférieure à celle idéale pour la consommation d'un programme informatique. Si la copie de travail n'est pas propre, elle génère un caractère d'état, un espace et le chemin du fichier pour chaque fichier qui n'est pas propre. Si c'est propre, cela ne produit rien. Cela ne devient pas beaucoup plus facile que ça.
@Stevekaye: un booléen serait plus agréable :)
À propos de la restauration: J'utilise HG ST, pas "Statut HG". Cela fonctionne de manière égale et est moins de caractères à taper. Il peut être intéressant que les nouveaux arrivants d'apprendre sur ces abréviations.