Je suis en train d'essayer d'obtenir l'mercurial numéro de révision/id (c'est une table de hachage n'est pas un nombre) par programmation en python.
La raison est que je veux ajouter à la css/js fichiers sur notre site web comme:
<link rel="stylesheet" href="example.css?{% mercurial_revision "example.css" %}" />
De sorte que chaque fois qu'une modification est apportée à la feuille de style, il va obtenir une nouvelle url et de ne plus utiliser l'ancienne version en cache.
OU si vous savez où trouver de la bonne documentation pour l'mercurial module python, qui serait également utile. Je n'arrive pas à le trouver n'importe où.
Ma Solution
J'ai fini à l'aide de sous-processus de l'exécuter une commande qui permet d'obtenir le hg nœud. J'ai choisi cette solution parce que l'api n'est pas garanti de rester le même, mais le bash interface sera probablement:
import subprocess
def get_hg_rev(file_path):
pipe = subprocess.Popen(
["hg", "log", "-l", "1", "--template", "{node}", file_path],
stdout=subprocess.PIPE
)
return pipe.stdout.read()
exemple d'utilisation:
> path_to_file = "/home/jim/workspace/lgr/pinax/projects/lgr/site_media/base.css"
> get_hg_rev(path_to_file)
'0ed525cf38a7b7f4f1321763d964a39327db97c4'