mirror of
https://github.com/go-gitea/gitea.git
synced 2025-07-27 00:01:20 -04:00
Compare commits
No commits in common. "a1dfffd723c434966152ee521c99e966a3aee065" and "ff7383e83a4fdf9a86879b698752fe1aa5c6d00f" have entirely different histories.
a1dfffd723
...
ff7383e83a
@ -58,7 +58,7 @@ The repository now gets mirrored periodically to the remote repository. You can
|
||||
|
||||
To set up a mirror from Gitea to GitHub, you need to follow these steps:
|
||||
|
||||
1. Create a [GitHub personal access token](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token) with the *public_repo* box checked. Also check the **workflow** checkbox in case your repo using act for continuous integration.
|
||||
1. Create a [GitHub personal access token](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token) with the *public_repo* box checked.
|
||||
2. Create a repository with that name on GitHub. Unlike Gitea, GitHub does not support creating repositories by pushing to the remote. You can also use an existing remote repo if it has the same commit history as your Gitea repo.
|
||||
3. In the settings of your Gitea repo, fill in the **Git Remote Repository URL**: `https://github.com/<your_github_group>/<your_github_project>.git`.
|
||||
4. Fill in the **Authorization** fields with your GitHub username and the personal access token as **Password**.
|
||||
|
@ -3514,7 +3514,6 @@ runs.commit=Révision
|
||||
runs.scheduled=Planifié
|
||||
runs.pushed_by=soumis par
|
||||
runs.invalid_workflow_helper=La configuration du flux de travail est invalide. Veuillez vérifier votre fichier %s.
|
||||
runs.no_matching_online_runner_helper=Aucun exécuteur en ligne correspondant au libellé %s
|
||||
runs.actor=Acteur
|
||||
runs.status=Statut
|
||||
runs.actors_no_select=Tous les acteurs
|
||||
|
@ -359,7 +359,6 @@ disable_register_prompt=Извините, возможность регистр
|
||||
disable_register_mail=Подтверждение регистрации по электронной почте отключено.
|
||||
manual_activation_only=Обратитесь к администратору сайта для завершения активации.
|
||||
remember_me=Запомнить это устройство
|
||||
remember_me.compromised=Токен входа более не действителен, что может указывать на компрометацию учётной записи. Пожалуйста, проверьте свою учётную запись на необычные действия.
|
||||
forgot_password_title=Восстановить пароль
|
||||
forgot_password=Забыли пароль?
|
||||
sign_up_now=Нужен аккаунт? Зарегистрируйтесь.
|
||||
@ -705,7 +704,6 @@ requires_activation=Требуется активация
|
||||
primary_email=Сделать основным
|
||||
activate_email=Отправить активацию
|
||||
activations_pending=Ожидает активации
|
||||
can_not_add_email_activations_pending=Ожидается активация. Если хотите добавить новый почтовый ящик, попробуйте еще раз через несколько минут.
|
||||
delete_email=Удалить
|
||||
email_deletion=Удалить адрес электронной почты
|
||||
email_deletion_desc=Адрес электронной почты и вся связанная с ним информация будет удалена из вашего аккаунта. Коммиты, сделанные от имени этого адреса электронной почты, не будут изменены. Продолжить?
|
||||
@ -847,7 +845,6 @@ oauth2_client_id=ID клиента
|
||||
oauth2_client_secret=Клиентский ключ
|
||||
oauth2_regenerate_secret=Сгенерировать новый ключ
|
||||
oauth2_regenerate_secret_hint=Потеряли свой ключ?
|
||||
oauth2_client_secret_hint=Пожалуйста, сохраните секрет, так как после закрытия или обновления страницы он больше не будет показан.
|
||||
oauth2_application_edit=Изменить
|
||||
oauth2_application_create_description=Приложения OAuth2 предоставляет стороннему приложению доступ к учётным записям пользователей данного сервиса.
|
||||
oauth2_application_remove_description=Удаление приложения OAuth2 приведёт к отмене его доступа к авторизованным учётным записям пользователей в данном экземпляре. Продолжить?
|
||||
@ -860,7 +857,6 @@ revoke_oauth2_grant_description=Отзыв доступа у этого стор
|
||||
revoke_oauth2_grant_success=Доступ был успешно отозван.
|
||||
|
||||
twofa_desc=Двухфакторная аутентификация повышает уровень безопасности вашей учётной записи.
|
||||
twofa_recovery_tip=В случае утраты устройства можно использовать одноразовый ключ восстановления для получения доступа к учётной записи.
|
||||
twofa_is_enrolled=Ваша учётная запись в настоящее время <strong>использует</strong> двухфакторную аутентификацию.
|
||||
twofa_not_enrolled=Ваша учётная запись в настоящее время не использует двухфакторную аутентификацию.
|
||||
twofa_disable=Отключить двухфакторную аутентификацию
|
||||
@ -882,7 +878,6 @@ webauthn_register_key=Добавить ключ безопасности
|
||||
webauthn_nickname=Имя пользователя
|
||||
webauthn_delete_key=Удалить ключ безопасности
|
||||
webauthn_delete_key_desc=Если вы удалите ключ безопасности, вы больше не сможете войти с его помощью. Продолжить?
|
||||
webauthn_key_loss_warning=В случае утраты ключей безопасности вы потеряете доступ к учётной записи.
|
||||
|
||||
manage_account_links=Управление привязанными аккаунтами
|
||||
manage_account_links_desc=Эти внешние аккаунты привязаны к вашему аккаунту Gitea.
|
||||
@ -1004,8 +999,6 @@ delete_preexisting_success=Удалены непринятые файлы в %s
|
||||
blame_prior=Показать авторство предшествующих изменений
|
||||
author_search_tooltip=Показывает максимум 30 пользователей
|
||||
|
||||
tree_path_not_found_commit=Путь %[1]s не существует в коммите %[2]s
|
||||
tree_path_not_found_branch=Путь %[1]s не существует в ветке %[2]s
|
||||
|
||||
transfer.accept=Принять трансфер
|
||||
transfer.accept_desc=Переместить в «%s»
|
||||
@ -1147,8 +1140,6 @@ file_view_rendered=Просмотр отрендеренного
|
||||
file_view_raw=Посмотреть исходник
|
||||
file_permalink=Постоянная ссылка
|
||||
file_too_large=Этот файл слишком большой, поэтому он не может быть отображён.
|
||||
invisible_runes_header=`Этот файл содержит невидимые символы Юникода`
|
||||
ambiguous_runes_header=`Этот файл содержит неоднозначные символы Юникода`
|
||||
invisible_runes_line=`В этой строке есть невидимые символы Юникода`
|
||||
ambiguous_runes_line=`В этой строке есть неоднозначные символы Юникода`
|
||||
ambiguous_character=`%[1]c [U+%04[1]X] можно спутать с %[2]c [U+%04[2]X]`
|
||||
@ -1423,7 +1414,6 @@ issues.filter_sort.moststars=Больше звезд
|
||||
issues.filter_sort.feweststars=Меньше звезд
|
||||
issues.filter_sort.mostforks=Больше форков
|
||||
issues.filter_sort.fewestforks=Меньше форков
|
||||
issues.keyword_search_unavailable=В настоящее время поиск по ключевым словам недоступен. Обратитесь к администратору сайта.
|
||||
issues.action_open=Открыть
|
||||
issues.action_close=Закрыть
|
||||
issues.action_label=Метка
|
||||
@ -1472,15 +1462,9 @@ issues.ref_closed_from=`<a href="%[3]s">закрыл этот запрос %[4]s
|
||||
issues.ref_reopened_from=`<a href="%[3]s">переоткрыл эту задачу %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_from=`из %[1]s`
|
||||
issues.author=Автор
|
||||
issues.author_helper=Этот пользователь является автором.
|
||||
issues.role.owner=Владелец
|
||||
issues.role.owner_helper=Этот пользователь является владельцем репозитория.
|
||||
issues.role.member=Участник
|
||||
issues.role.member_helper=Этот пользователь является членом организации, владеющей этим репозиторием.
|
||||
issues.role.collaborator=Соавтор
|
||||
issues.role.collaborator_helper=Этот пользователь был приглашен сотрудничать в репозитории.
|
||||
issues.role.first_time_contributor=Новый участник
|
||||
issues.role.first_time_contributor_helper=Это первый вклад пользователя в репозиторий.
|
||||
issues.role.contributor=Участник
|
||||
issues.re_request_review=Повторить запрос на отзыв
|
||||
issues.is_stale=Со времени этого обзора в этот PR были внесены некоторые изменения
|
||||
@ -1497,8 +1481,6 @@ issues.label_description=Описание метки
|
||||
issues.label_color=Цвет метки
|
||||
issues.label_exclusive=Эксклюзивный
|
||||
issues.label_archive=Метка архива
|
||||
issues.label_archived_filter=Показать архивированные метки
|
||||
issues.label_archive_tooltip=Архивированные метки исключаются по умолчанию из подсказок при поиске по метке.
|
||||
issues.label_exclusive_desc=Назовите метку <code>область/элемент</code>, чтобы сделать ее взаимоисключающей с другими метками <code>область/</code>.
|
||||
issues.label_exclusive_warning=Любые метки с конфликтующей областью будут удалены при редактировании меток задачи или запроса на слияние.
|
||||
issues.label_count=%d меток
|
||||
@ -1553,7 +1535,6 @@ issues.tracking_already_started=`Вы уже начали отслеживать
|
||||
issues.stop_tracking=Остановить таймер
|
||||
issues.stop_tracking_history=`перестал(а) работать %s`
|
||||
issues.cancel_tracking=Отмена
|
||||
issues.cancel_tracking_history=`отменил(а) отслеживание времени %s`
|
||||
issues.add_time=Вручную добавить время
|
||||
issues.del_time=Удалить этот журнал времени
|
||||
issues.add_time_short=Добавить время
|
||||
@ -1709,7 +1690,6 @@ pulls.is_empty=Изменения из этой ветки уже есть в ц
|
||||
pulls.required_status_check_failed=Некоторые необходимые проверки не были пройдены.
|
||||
pulls.required_status_check_missing=Отсутствуют некоторые обязательные проверки.
|
||||
pulls.required_status_check_administrator=Как администратор, вы все равно можете принять этот запрос на слияние.
|
||||
pulls.blocked_by_approvals=Этот запрос на слияние пока не имеет достаточного количества одобрений. Получено %d из %d одобрений.
|
||||
pulls.blocked_by_rejection=Официальный рецензент запросил изменения к этому запросу на слияние.
|
||||
pulls.can_auto_merge_desc=Этот запрос на слияние может быть объединён автоматически.
|
||||
pulls.cannot_auto_merge_desc=Этот запрос на слияние не может быть объединён автоматически.
|
||||
@ -1756,8 +1736,6 @@ pulls.status_checks_failure=Некоторые проверки не удали
|
||||
pulls.status_checks_error=Некоторые проверки сообщили об ошибках
|
||||
pulls.status_checks_requested=Требуется
|
||||
pulls.status_checks_details=Информация
|
||||
pulls.status_checks_hide_all=Скрыть все проверки
|
||||
pulls.status_checks_show_all=Показать все проверки
|
||||
pulls.update_branch=Обновить ветку посредством слияния
|
||||
pulls.update_branch_rebase=Обновить ветку через rebase
|
||||
pulls.update_branch_success=Обновление ветки выполнено успешно
|
||||
@ -1766,9 +1744,6 @@ pulls.outdated_with_base_branch=Эта ветка отстает от базов
|
||||
pulls.close=Закрыть запрос на слияние
|
||||
pulls.closed_at=`закрыл этот запрос на слияние <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.reopened_at=`переоткрыл этот запрос на слияние <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.cmd_instruction_hint=`Просмотреть <a class="show-instruction">инструкции для командной строки</a>.`
|
||||
pulls.cmd_instruction_merge_title=Слить
|
||||
pulls.cmd_instruction_merge_desc=Слить изменения и обновить в Gitea.
|
||||
pulls.clear_merge_message=Очистить сообщение о слиянии
|
||||
pulls.clear_merge_message_hint=Очистка сообщения о слиянии удалит только содержимое сообщения коммита, но сохранит сгенерированные git добавки, такие как "Co-Authored-By …".
|
||||
|
||||
@ -1812,8 +1787,6 @@ milestones.edit_success=Этап «%s» обновлён.
|
||||
milestones.deletion=Удалить этап
|
||||
milestones.deletion_desc=Удаление этапа приведет к его удалению из всех связанных задач. Продолжить?
|
||||
milestones.deletion_success=Этап успешно удалён.
|
||||
milestones.filter_sort.earliest_due_data=По возрастанию даты завершения
|
||||
milestones.filter_sort.latest_due_date=По убыванию даты завершения
|
||||
milestones.filter_sort.least_complete=Менее полное
|
||||
milestones.filter_sort.most_complete=Более полное
|
||||
milestones.filter_sort.most_issues=Большинство задач
|
||||
@ -1824,9 +1797,7 @@ signing.wont_sign.never=Коммиты никогда не подписываю
|
||||
signing.wont_sign.always=Коммиты всегда подписываются.
|
||||
signing.wont_sign.pubkey=Этот коммит не будет подписан, поскольку к вашей учётной записи не привязано публичного ключа.
|
||||
signing.wont_sign.twofa=Для подписания коммитов у вас должна быть включена двухфакторная аутентификация.
|
||||
signing.wont_sign.parentsigned=Этот коммит не будет подписан, так как родительский коммит не подписан.
|
||||
signing.wont_sign.basesigned=Слияние не будет подписано, так как базовый коммит не подписан.
|
||||
signing.wont_sign.headsigned=Слияние не будет подписано, так как головной коммит не подписан.
|
||||
signing.wont_sign.commitssigned=Слияние не будет подписано, так как все связанные коммиты не подписаны.
|
||||
signing.wont_sign.approved=Слияние не будет подписано, так как запрос на слияние не одобрен.
|
||||
signing.wont_sign.not_signed_in=Вы не вошли в систему.
|
||||
@ -1858,7 +1829,7 @@ wiki.page_already_exists=Страница вики с таким именем у
|
||||
wiki.reserved_page=Имя страницы вики «%s» зарезервировано.
|
||||
wiki.pages=Страницы
|
||||
wiki.last_updated=Последнее обновление %s
|
||||
wiki.page_name_desc=Введите имя страницы вики. Некоторые специальные имена: 'Home', '_Sidebar' и '_Footer'.
|
||||
wiki.page_name_desc=Введите имя страницы вики. Некоторые специальные имена: 'Главна', '_Sidebar' и '_Footer'.
|
||||
|
||||
activity=Активность
|
||||
activity.period.filter_label=Период:
|
||||
@ -1972,7 +1943,6 @@ settings.mirror_settings.push_mirror.add=Добавить Push-зеркало
|
||||
settings.mirror_settings.push_mirror.edit_sync_time=Изменить интервал синхронизации зеркала
|
||||
|
||||
settings.sync_mirror=Синхронизировать
|
||||
settings.push_mirror_sync_in_progress=Идёт отправка изменений в удалённый репозиторий %s.
|
||||
settings.site=Сайт
|
||||
settings.update_settings=Обновить настройки
|
||||
settings.update_mirror_settings=Обновить настройки зеркала
|
||||
@ -2039,7 +2009,6 @@ settings.transfer.rejected=Трансфер репозитория отменё
|
||||
settings.transfer.success=Трансфер репозитория успешно выполнен.
|
||||
settings.transfer_abort=Отменить трансфер
|
||||
settings.transfer_abort_invalid=Невозможно отменить трансфер несуществующего репозитория.
|
||||
settings.transfer_abort_success=Передача репозитория %s успешно отменена.
|
||||
settings.transfer_desc=Передать репозиторий другому пользователю или организации где у вас есть права администратора.
|
||||
settings.transfer_form_title=Введите сопутствующую информацию для подтверждения операции:
|
||||
settings.transfer_in_progress=Трансфер в процессе выполнения. Отмените его, если желаете выполнить трансфер другому пользователю.
|
||||
@ -2271,7 +2240,6 @@ settings.dismiss_stale_approvals_desc=Когда новые коммиты, из
|
||||
settings.require_signed_commits=Требовать подписанные коммиты
|
||||
settings.require_signed_commits_desc=Отклонить отправку изменений в эту ветку, если они не подписаны или не проверяемы.
|
||||
settings.protect_branch_name_pattern=Шаблон имени для защищённых веток
|
||||
settings.protect_branch_name_pattern_desc=Шаблоны имён защищённых веток. О синтаксисе шаблонов читайте в <a href="https://github.com/gobwas/glob">документации</a>. Примеры: main, release/**
|
||||
settings.protect_patterns=Шаблоны
|
||||
settings.protect_protected_file_patterns=Шаблоны защищённых файлов (разделённые точкой с запятой ';'):
|
||||
settings.protect_protected_file_patterns_desc=Защищенные файлы нельзя изменить напрямую, даже если пользователь имеет право добавлять, редактировать или удалять файлы в этой ветке. Можно указать несколько шаблонов, разделяя их точкой с запятой (';'). О синтаксисе шаблонов читайте в документации <a href='https://godoc.org/github.com/gobwas/glob#Compile'>github.com/gobwas/glob</a>. Примеры: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
|
||||
@ -2483,7 +2451,6 @@ branch.default_deletion_failed=Ветка «%s» является веткой
|
||||
branch.restore=Восстановить ветку «%s»
|
||||
branch.download=Скачать ветку «%s»
|
||||
branch.rename=Переименовать ветку «%s»
|
||||
branch.search=Поиск ветки
|
||||
branch.included_desc=Эта ветка является частью ветки по умолчанию
|
||||
branch.included=Включено
|
||||
branch.create_new_branch=Создать ветку из ветви:
|
||||
@ -2506,7 +2473,6 @@ tag.create_success=Тег «%s» создан.
|
||||
topic.manage_topics=Редактировать тематические метки
|
||||
topic.done=Сохранить
|
||||
topic.count_prompt=Нельзя выбрать более 25 тем
|
||||
topic.format_prompt=Темы должны начинаться с буквы или цифры и могут содержать дефисы («-») и точки («.»). Длина темы не должна превышать 35 символов. Все буквы должны быть строчными.
|
||||
|
||||
find_file.go_to_file=Перейти к файлу
|
||||
find_file.no_matching=Совпадающих файлов не найдено
|
||||
@ -2634,13 +2600,11 @@ teams.all_repositories_helper=Команда имеет доступ ко все
|
||||
teams.all_repositories_read_permission_desc=Эта команда предоставляет <strong>прочтено</strong> доступ к <strong>всем репозиториям</strong>: участники могут просматривать и клонировать репозитории.
|
||||
teams.all_repositories_write_permission_desc=Эта команда предоставляет <strong>Написать</strong> доступ к <strong>всем репозиториям</strong>: участники могут читать и выполнять push в репозитории.
|
||||
teams.all_repositories_admin_permission_desc=Эта команда предоставляет <strong>администратору</strong> доступ к <strong>всем репозиториям</strong>: участники могут читать, отправлять сообщения и добавлять соавторов в репозитории.
|
||||
teams.invite.title=Вас пригласили присоединиться к команде <strong>%s</strong> организации <strong>%s</strong>.
|
||||
teams.invite.by=Приглашен(а) %s
|
||||
teams.invite.description=Нажмите на кнопку ниже, чтобы присоединиться к команде.
|
||||
|
||||
[admin]
|
||||
dashboard=Панель
|
||||
identity_access=Идентификация и доступ
|
||||
users=Пользователи
|
||||
organizations=Организации
|
||||
repositories=Репозитории
|
||||
@ -2733,7 +2697,6 @@ dashboard.gc_lfs=Выполнить сборку мусора метаобъек
|
||||
dashboard.stop_zombie_tasks=Остановить задания-зомби
|
||||
dashboard.stop_endless_tasks=Остановить бесконечные задания
|
||||
dashboard.cancel_abandoned_jobs=Отменить брошенные задания
|
||||
dashboard.start_schedule_tasks=Запустить запланированные задания
|
||||
|
||||
users.user_manage_panel=Панель управления пользователями
|
||||
users.new_account=Создать новый аккаунт
|
||||
@ -2803,7 +2766,6 @@ emails.updated=Email обновлён
|
||||
emails.not_updated=Не удалось обновить запрошенный адрес электронной почты: %v
|
||||
emails.duplicate_active=Этот адрес электронной почты уже активирован для другого пользователя.
|
||||
emails.change_email_header=Обновить свойства электронной почты
|
||||
emails.change_email_text=Вы уверены, что хотите обновить этот адрес электронной почты?
|
||||
|
||||
orgs.org_manage_panel=Управление организациями
|
||||
orgs.name=Название
|
||||
@ -2828,7 +2790,6 @@ packages.package_manage_panel=Управление пакетами
|
||||
packages.total_size=Общий размер: %s
|
||||
packages.unreferenced_size=Размер по ссылке: %s
|
||||
packages.cleanup=Очистить устаревшие данные
|
||||
packages.cleanup.success=Очистка устаревших данных успешно завершена
|
||||
packages.owner=Владелец
|
||||
packages.creator=Автор
|
||||
packages.name=Наименование
|
||||
@ -3125,7 +3086,6 @@ monitor.queue.name=Имя
|
||||
monitor.queue.type=Тип
|
||||
monitor.queue.exemplar=Тип образца
|
||||
monitor.queue.numberworkers=Количество рабочих
|
||||
monitor.queue.activeworkers=Активные рабочие
|
||||
monitor.queue.maxnumberworkers=Максимальное количество рабочих
|
||||
monitor.queue.numberinqueue=Позиция в очереди
|
||||
monitor.queue.settings.title=Настройки пула
|
||||
@ -3451,23 +3411,16 @@ runners.status.idle=Простаивает
|
||||
runners.status.active=Активный
|
||||
runners.status.offline=Недоступен
|
||||
runners.version=Версия
|
||||
runners.reset_registration_token=Сброс регистрационного токена
|
||||
runners.reset_registration_token_success=Токен регистрации раннера успешно сброшен
|
||||
|
||||
runs.all_workflows=Все рабочие потоки
|
||||
runs.commit=коммит
|
||||
runs.scheduled=Запланировано
|
||||
runs.pushed_by=отправлено
|
||||
runs.invalid_workflow_helper=Файл конфигурации рабочего потока некорректен. Пожалуйста, проверьте конфигурационный файл: %s
|
||||
runs.actor=Актор
|
||||
runs.status=Статус
|
||||
runs.actors_no_select=Все акторы
|
||||
runs.no_results=Ничего не найдено.
|
||||
runs.no_workflows=Пока нет рабочих процессов.
|
||||
runs.no_workflows.quick_start=Не знаете, как начать использовать Действия Gitea? Читайте <a target="_blank" rel="noopener noreferrer" href="%s">руководство по быстрому старту</a>.
|
||||
runs.no_workflows.documentation=Чтобы узнать больше о Действиях Gitea, читайте <a target="_blank" rel="noopener noreferrer" href="%s">документацию</a>.
|
||||
runs.no_runs=Рабочий поток ещё не запускался.
|
||||
runs.empty_commit_message=(пустое сообщение коммита)
|
||||
|
||||
workflow.disable=Выключить рабочий поток
|
||||
workflow.disable_success=Рабочий поток «%s» успешно выключен.
|
||||
|
@ -55,36 +55,19 @@ func (f *GitlabDownloaderFactory) GitServiceType() structs.GitServiceType {
|
||||
return structs.GitlabService
|
||||
}
|
||||
|
||||
type gitlabIIDResolver struct {
|
||||
maxIssueIID int64
|
||||
frozen bool
|
||||
}
|
||||
|
||||
func (r *gitlabIIDResolver) recordIssueIID(issueIID int) {
|
||||
if r.frozen {
|
||||
panic("cannot record issue IID after pull request IID generation has started")
|
||||
}
|
||||
r.maxIssueIID = max(r.maxIssueIID, int64(issueIID))
|
||||
}
|
||||
|
||||
func (r *gitlabIIDResolver) generatePullRequestNumber(mrIID int) int64 {
|
||||
r.frozen = true
|
||||
return r.maxIssueIID + int64(mrIID)
|
||||
}
|
||||
|
||||
// GitlabDownloader implements a Downloader interface to get repository information
|
||||
// from gitlab via go-gitlab
|
||||
// - issueCount is incremented in GetIssues() to ensure PR and Issue numbers do not overlap,
|
||||
// because Gitlab has individual Issue and Pull Request numbers.
|
||||
type GitlabDownloader struct {
|
||||
base.NullDownloader
|
||||
ctx context.Context
|
||||
client *gitlab.Client
|
||||
baseURL string
|
||||
repoID int
|
||||
repoName string
|
||||
iidResolver gitlabIIDResolver
|
||||
maxPerPage int
|
||||
ctx context.Context
|
||||
client *gitlab.Client
|
||||
baseURL string
|
||||
repoID int
|
||||
repoName string
|
||||
issueCount int64
|
||||
maxPerPage int
|
||||
}
|
||||
|
||||
// NewGitlabDownloader creates a gitlab Downloader via gitlab API
|
||||
@ -467,8 +450,8 @@ func (g *GitlabDownloader) GetIssues(page, perPage int) ([]*base.Issue, bool, er
|
||||
Context: gitlabIssueContext{IsMergeRequest: false},
|
||||
})
|
||||
|
||||
// record the issue IID, to be used in GetPullRequests()
|
||||
g.iidResolver.recordIssueIID(issue.IID)
|
||||
// increment issueCount, to be used in GetPullRequests()
|
||||
g.issueCount++
|
||||
}
|
||||
|
||||
return allIssues, len(issues) < perPage, nil
|
||||
@ -624,8 +607,8 @@ func (g *GitlabDownloader) GetPullRequests(page, perPage int) ([]*base.PullReque
|
||||
awardPage++
|
||||
}
|
||||
|
||||
// Generate new PR Numbers by the known Issue Numbers, because they share the same number space in Gitea, but they are independent in Gitlab
|
||||
newPRNumber := g.iidResolver.generatePullRequestNumber(pr.IID)
|
||||
// Add the PR ID to the Issue Count because PR and Issues share ID space in Gitea
|
||||
newPRNumber := g.issueCount + int64(pr.IID)
|
||||
|
||||
allPRs = append(allPRs, &base.PullRequest{
|
||||
Title: pr.Title,
|
||||
|
@ -516,20 +516,3 @@ func TestAwardsToReactions(t *testing.T) {
|
||||
},
|
||||
}, reactions)
|
||||
}
|
||||
|
||||
func TestGitlabIIDResolver(t *testing.T) {
|
||||
r := gitlabIIDResolver{}
|
||||
r.recordIssueIID(1)
|
||||
r.recordIssueIID(2)
|
||||
r.recordIssueIID(3)
|
||||
r.recordIssueIID(2)
|
||||
assert.EqualValues(t, 4, r.generatePullRequestNumber(1))
|
||||
assert.EqualValues(t, 13, r.generatePullRequestNumber(10))
|
||||
|
||||
assert.Panics(t, func() {
|
||||
r := gitlabIIDResolver{}
|
||||
r.recordIssueIID(1)
|
||||
assert.EqualValues(t, 2, r.generatePullRequestNumber(1))
|
||||
r.recordIssueIID(3) // the generation procedure has been started, it shouldn't accept any new issue IID, so it panics
|
||||
})
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user