Исправлено восстановение репозитория. Добавлено ограничение вывода при

сообщения с ошибкой.
master3.3 3.2.2_beta3
Mike Khiretskiy 10 years ago
parent 2e7922fa01
commit 3a98aa127d

@ -725,7 +725,7 @@ class Update:
except EmergeError: except EmergeError:
self.set_need_update(False) self.set_need_update(False)
self.emerge_cache.drop_cache("Emerge error") self.emerge_cache.drop_cache("Emerge error")
self.printPre(self._emerge_translate(emerge.prepare_error)) self._display_error(emerge.prepare_error)
raise raise
if self.clVars.Get('cl_update_pretend_set') == 'on': if self.clVars.Get('cl_update_pretend_set') == 'on':
# установить кэш: есть обновления # установить кэш: есть обновления
@ -780,12 +780,16 @@ class Update:
except EmergeError: except EmergeError:
self.emerge_cache.drop_cache("Emerge error") self.emerge_cache.drop_cache("Emerge error")
if emerge.emerging_error: if emerge.emerging_error:
self.printPre( self._display_error(emerge.emerging_error.log)
self._emerge_translate(emerge.emerging_error.log))
else: else:
self.printPre(self._emerge_translate(emerge.prepare_error)) self._display_error(emerge.prepare_error)
raise raise
def _display_error(self, error):
lines_num = int(self.clVars.Get('update.cl_update_lines_limit'))
error = "\n".join(str(error).split('<br/>')[-lines_num:])
self.printPre(self._emerge_translate(error))
def emerge(self, param, *packages): def emerge(self, param, *packages):
""" """
Выполнить сборку пакета Выполнить сборку пакета
@ -808,7 +812,7 @@ class Update:
return True return True
except EmergeError: except EmergeError:
self.emerge_cache.drop_cache("Emerge error") self.emerge_cache.drop_cache("Emerge error")
self.printPre(self._emerge_translate(emerge.prepare_error)) self._display_error(emerge.prepare_error)
raise raise
self._startEmerging(emerge) self._startEmerging(emerge)
return True return True
@ -848,7 +852,7 @@ class Update:
emerge.run() emerge.run()
self._display_remove_list(emerge) self._display_remove_list(emerge)
except EmergeError: except EmergeError:
self.printPre(self._emerge_translate(emerge.prepare_error)) self._display_error(emerge.prepare_error)
raise raise
if (self.askConfirm( if (self.askConfirm(
_("Would you like to unmerge these packages?")) != 'yes'): _("Would you like to unmerge these packages?")) != 'yes'):

@ -229,9 +229,12 @@ class VariableClUpdateBranchName(Variable):
def get(self): def get(self):
def generateBranch(): def generateBranch():
git = Git()
for reppath in self.Get('cl_update_rep_path'): for reppath in self.Get('cl_update_rep_path'):
headPath = path.join(reppath, ".git/HEAD") try:
yield readFile(headPath).rpartition('/')[2].strip() or "master" yield git.getBranch(reppath) or "master"
except GitError:
yield "master"
return list(generateBranch()) return list(generateBranch())
@ -1051,4 +1054,9 @@ class VariableClUpdateKernelPkg(ReadonlyVariable):
else: else:
return "" return ""
class VariableClUpdateLinesLimit(Variable):
"""
Количество выводимых строк при ошибке
"""
type = "int"
value = "30"

Loading…
Cancel
Save