Синтаксическая ошибка в Python Mercurial плагин - PullRequest
0 голосов
/ 16 ноября 2011

Я только что установил этот плагин "checkfiles", и у него есть синтаксическая ошибка.Я не знаю Python, но я попробовал несколько вещей и не могу понять это.Мне интересно, может ли кто-нибудь еще заглянуть и посмотреть, если что-нибудь выделяется.Это самая последняя строка кода ниже:

   if self.opt_all:
        self.check_diffs = False

    if self.checked_exts == '""':
        self.ui.debug('checkfiles: checked extensions: (all text files)\n')
    else:
        self.ui.debug('checkfiles: checked extensions: %s\n' % ' '.join(self.checked_exts))

    self.ui.debug('checkfiles: ignored extensions: %s\n' % ' '.join(self.ignored_exts))
    self.ui.debug('checkfiles: ignored files: %s\n' % ' '.join(self.ignored_files))
    self.ui.debug('checkfiles: check diffs only: %r\n' % self.check_diffs)
    self.ui.debug('checkfiles: use spaces: %r\n' % self.use_spaces)

    if ctx:
        self.set_changectx(ctx)

def set_changectx(self, ctx):
    self.ctx = ctx

    if self.opt_all:
        modified, added, removed, deleted, unknown, ignored, clean = self.repo.status(clean=True)
        self.files = modified + added + clean # we can't get filecontext for unknown files
    else:
        self.files = ctx.files() if ctx else []  #THIS IS LINE 120

* не удалось импортировать контрольные файлы расширений из /scripts/mercurial-extensions/checkfiles/checkfiles.py: неверный синтаксис (контрольные файлы.py, строка 120)

Ответы [ 2 ]

4 голосов
/ 16 ноября 2011

Последняя строка верна современному Python.Он содержит условное выражение, которое было добавлено в Python 2.5.Итак, я думаю, что ваша Hg должна работать на Python 2.4 или более ранней версии.

0 голосов
/ 01 декабря 2011

Замените строку 120 на

self.files = ctx and ctx.files() or []

, что является совместимым с Python 2.4 способом

self.files = ctx.files() if ctx else []
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...