Mercurial API: repo.changectx (изменение) не существует! - PullRequest
2 голосов
/ 16 января 2011

Я пытаюсь создать плагин поддержки Mercurial для Python IDE, и у меня много проблем с пониманием API. Прямо сейчас я только делаю эксперименты для понимания использования различных команд API, но я не могу найти документ API или что-нибудь подобное.

Моя проблема в том, что r.changectx не работает, потому что r не выполняет эту операцию. И я вижу много примеров, которые используют функцию changectx.

Моя ртутная версия 1.7.3. Большое спасибо !!

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())

1 Ответ

3 голосов
/ 16 января 2011

Я думаю, что для такой работы нужен локальный репозиторий. Кроме того, вам нужна версия для 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())

Редактировать: эта запись FAQ , кажется, подтверждает, что она не будет работать на удаленных репозиториях.

...