Pergunta

i'm trying to make a Mercurial support plugin for a Python IDE and i have a lot of troubles understanding the API. Right now i'm only making experiments for understanding the uses of the different commands of the api, but i can't find the api's doc or anything like it.

My problem is that r.changectx doesn't work because r hasn't this operation. And i see a lot of examples that use the changectx function.

My mercurial version is 1.7.3 . Thanks a lot !!

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())
Foi útil?

Solução

I think it needs a local repo for it to work like that. Also, you need a revision for 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: this FAQ entry seems to corroborate that it won't work on remote repositories.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top