Настройка Weblate для создания пул-запросов - PullRequest
0 голосов
/ 10 февраля 2019

Я хочу использовать Weblate, чтобы помочь с локализацией проекта с открытым исходным кодом, который разработан на GitHub.У меня нет прав на запись в репозитории сопровождающих, и я вынужден отправлять запросы на извлечение для внесенных мной улучшений.Выглядит так, как будто Weblate поддерживает создание запросов извлечения , но я не могу заставить его работать.

Что я сделал до сих пор:

  1. ВыполнитьWeblate 3.4 (в контейнере Docker) и настройка ключей SSH для доступа к GitHub.
  2. Установите переменную среды Docker WEBLATE_GITHUB_USERNAME в мое имя пользователя GitHub.
  3. Откройте сеанс оболочки в контейнере Docker и запустите hub clone octocat/Spoon-Knife (как для root, так и для пользователя weblate; запрашивается имя пользователя и пароль, а также клонируется хранилище; токен также остается там после перезапуска контейнеров Docker)
  4. Настройка Weblateпроект.
  5. Настройка компонента в проекте.
    • Хранилище исходного кода = восходящее репозиторий GitHub (git@github.com: keeper / repo)
    • Ветвь репозитория = master
    • URL-адрес репозитория = мой разветвленный репозиторий GitHub (git@ github.com: me / repo)
    • Система контроля версий: GitHub (РЕДАКТИРОВАНИЕ: добавлено 10 февраля 2019 г.)

EDIT (10 февраля 2019 г.): Обнаружив, что при создании компонента вам нужно указать «GitHub» в качестве системы контроля версий, Weblate теперь пытается выдвинуть изменения в форк и создать запрос на извлечение.Аутентификация инструмента-концентратора не работает.Когда я нажимаю «push» в Repository Maintance, я получаю сообщение об ошибке.Где-то в трассировке стека возникает эта ошибка:

'github.com username: github.com password for (never stored): ' 'Error forking repository: Unauthorized (HTTP 401)\nRequires authentication'

Я сильно подозреваю, что Python не может открыть ~/.config/hub.Файл определенно существует.Может быть, это связано с тем, как ~ разрешается Python?

1 Ответ

0 голосов
/ 17 февраля 2019

Я понял это сам:

Проблема в том, что ~ / .config / hub разрешается в /root/.config/hub, когда Weblate вызывает программу-концентратор GitHub.Тем не менее, пользователь Weblate работает как weblate, поэтому у него нет доступа к домашнему каталогу пользователя root.

Я исправил это путем жесткого кодирования '/home/weblate/.config/hub'в качестве местоположения файла конфигурации концентратора и убедившись, что файл конфигурации создан в этом месте.

...