API Mercurial: repo.changectx (changement) n'existe pas!
-
11-10-2019 - |
Question
Je suis en train de faire un plugin support Mercurial pour un IDE Python et j'ai beaucoup de problèmes à comprendre l'API. En ce moment, je ne fais que faire des expériences pour comprendre les usages des différentes commandes du api, mais je ne peux pas trouver doc ou quoi que ce soit de l'api comme il.
Mon problème est que r.changectx ne fonctionne pas parce que r n'a pas cette opération. Et je vois beaucoup d'exemples qui utilisent la fonction changectx.
Ma version Mercurial est 1.7.3. Merci beaucoup !!
from mercurial import ui, hg
r = hg.repository(ui.ui(), "https://ninja-ide.googlecode.com/hg/")
c = r.changectx("setup.py")
# show some information about the changeset
print c # represented as the changeset hash
print c.user()
print c.description()
print
# let's take a peek at the files
files = c.files()
for f in files:
fc = c[f]
print " ", f, len(fc.data())
La solution
Je pense qu'il a besoin d'une prise en pension locale pour que cela fonctionne comme ça. , Vous devez également une révision pour changectx
.
from mercurial import ui, hg, commands
myui = ui.ui()
repourl = "https://ninja-ide.googlecode.com/hg/"
commands.clone(myui, repourl, 'ninja')
r = hg.repository(myui, './ninja')
c = r.changectx("tip")
# show some information about the changeset
print c # represented as the changeset hash
print c.user()
print c.description()
print
# let's take a peek at the files
files = c.files()
for f in files:
fc = c[f]
print " ", f, len(fc.data())
Edit: cette FAQ semble confirmer qu'il ne fonctionnera pas sur les dépôts distants.