Используйте подвижный API для получения изменений в репозитории для данного Changeset

Как я могу использовать Подвижный API для определения изменений, внесенных в репозиторий для каждого changeset? Я могу получить список файлов, относящихся к конкретному пересмотру, но я не могу выяснить, как сказать то, что произошло с тем файлом.

Как может я отвечать на эти вопросы о каждом файле в changeset:

  • Это было добавлено?
  • Это было удалено?
  • Это было изменено?

Существует ли атрибут в контексте файла, который скажет мне это (если так, я не могу найти его), или там способы понять это другими средствами?

Вот мой код:

def index(request):
    u = ui.ui()
    repo = hg.repository(ui.ui(), '/path/to/repo')
    changes = repo.changelog
    changesets = []

    for change in changes:
        ctx = repo.changectx(change)
        fileCtxs = []
        for aFile in ctx.files():
            if aFile in ctx:
                for status in repo.status(None, ctx.node()):
                    # I'm hoping this could return A, M, D, ? etc
                    fileCtxs.append(status)

        changeset = {
            'files':ctx.files(),
            'rev':str(ctx.rev()),
            'desc':ctx.description(),
            'user':ctx.user(),
            'filectxs':fileCtxs,
        }
        changesets.append(changeset)

    c = Context({
        'changesets': changesets,
    })

    tmplt = loader.get_template('web/index.html')
    return HttpResponse(tmplt.render(c))
5
задан Michael La Voie 5 November 2010 в 02:11
поделиться