développiez @ gvalkov de réponse, vous pouvez en faire une véritable extension en écrivant un fichier rheads.py
:
from mercurial import hg, commands, cmdutil, node
cmdtable = {}
command = cmdutil.command(cmdtable)
@command('rheads', commands.remoteopts, 'hg rheads [SOURCE]')
def rheads(ui, repo, source='default', **opts):
"""print (possibly remote) heads
Prints a series of lines consisting of hashes and branch names.
Specify a local or remote repository, defaulting to the configured remote.
"""
other = hg.peer(ui or repo, opts, ui.expandpath(source))
for tag, heads in other.branchmap().iteritems():
for h in heads:
ui.write("%s %s\n" % (node.short(h), tag))
est configuré en ~/.hgrc
avec
[extensions]
rheads = …/rheads.py
vous pouvez l'exécuter comme :
hg rheads
J'ai essayé de faire une commande qui peut être invoqué en dehors de tout dépôt, spécifiant simplement l'URL comme argument, mais n'a pas pu obtenir la syntaxe au travail:
commands.norepo += " rheads"
Oui, c'est ce que je soupçonne. Merci pour les informations utiles sur hgweb et bitbucket. – Raoul
Je me demande pourquoi mercurial conçu de cette façon? Je peux obtenir la révision d'une branche particulière en utilisant 'hg id -r, mais je ne peux pas obtenir la liste de toutes les branches .. –
neverov
Il fonctionne * si * le référentiel" distant "est sur le même hôte et spécifié par un chemin du fichier. c'est-à-dire, si '.hg/hgrc' ou' hg paths default' montre simplement un chemin et non, par exemple. un URI SSH. De cette façon, vous pouvez voir des branches encore éloignées dans le sens où elles n'ont pas été tirées. –