Bug 56112
| Summary: | mercurial: Команда hg config --edit открывает пустой конфиг | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Sisyphus | Reporter: | Котюхов Михаил Андреевич <kotjuhovma> | ||||
| Component: | mercurial | Assignee: | Yury Yurevich <the.pythy> | ||||
| Status: | REOPENED --- | QA Contact: | qa-sisyphus | ||||
| Severity: | normal | ||||||
| Priority: | P5 | CC: | glebfm, grenka, kotopesutility, root | ||||
| Version: | unstable | ||||||
| Hardware: | x86_64 | ||||||
| OS: | Linux | ||||||
| Attachments: |
|
||||||
Мне надо за вас конфиг заполнить или что?=) В версии mercurial-6.8.1-alt1 в P11 при выполнении hg config --edit конфиг заполняется автоматически. Воспроизводится и на mercurial-7.2-alt1 (задание https://packages.altlinux.org/tasks/406963/ и далее): при отсутствии ~/.hgrc команда `hg config --edit` открывает редактор на несуществующем файле, шаблон не создаётся. Причина — регрессия апстрима в 7.0 при рефакторинге уровней конфигурации: - mercurial/configuration/__init__.py:13: `LEVEL_USER = 'user'` (str); - mercurial/configuration/command.py:90: `samplehgrc = uimod.samplehgrcs.get(level)`; - mercurial/ui.py:125: ключи словаря samplehgrcs — байтовые (`b'user'`, `b'global'`, …). `samplehgrcs.get('user')` всегда возвращает None, поэтому строка 94 (util.writefile с шаблоном) не выполняется. Исправление в одну строку: приводить level к bytes (`pycompat.sysbytes(level)`) либо сделать ключи samplehgrcs строковыми. |

Description
Котюхов Михаил Андреевич 2025-09-23 14:14:43 MSKCreated attachment 19614 [details] Пустой cfg Системы, обновленные до sisyphus: kworkstation-11.1-x86-64 education-11.0-x86-64-kde Версия пакета: mercurial-7.0.1-alt1 Шаги воспроизведения: 1. Установить mercurial 2. Выполнить в терминале: # hg config --edit Результат: Открывается окно текстового редактора с полностью пустым конфигом Ожидаемый результат: Открывается окно текстового редактора с заполненным конфигом