Как мне перенести проблему с github в другое репо?


98

Это случается то и дело. Одна библиотека зависит от другой, и пользователь открывает проблему, относящуюся к неправильному репо. Могу ли я перенести выпуск в другое репо?

Вы можете возразить, что проблема может рассматриваться как проблема обоих репозиториев, потому что одно зависит от другого, и пока одно не работает должным образом, оба этого не делают. Но я лучше расскажу о решениях вопроса в репо, которому он принадлежит.


Вам больше не нужно быть администратором исходного и целевого репозиториев, чтобы перемещать проблему между ними. Смотрите мой ответ ниже .
— VonC

Ответы:


37

См. Документацию GitHub по вопросам передачи .

Перенос открытого вопроса в другой репозиторий

На GitHub перейдите на главную страницу репозитория.

Под именем вашего репозитория щелкните Проблемы .

В списке проблем выберите проблему, которую хотите передать.

На правой боковой панели нажмите Передать эту проблему .


2
Было бы здорово перенести все выпуски одного репо на другое.
— CGFoX

@CGFoX создал запрос функции по адресу: github.com/isaacs/github/issues/1605
— Ciro Santilli 郝海东 冠状 病 六四 事件

Следует отметить, что вам необходимо разрешение на запись для обоих репозиториев, иначе эта опция недоступна.
— Бретт Саттон

60

Нет, официально вы не можете перемещать задачи между репозиториями.

Тем не менее, есть хак, github-issues-import , своего рода плагин, для импорта проблем из репозитория в другой.


4
Создал еще одну взломанную версию gh-issues-importer здесь github.com/collective/collective.developermanual/blob/master/…
— Микко Охтамаа

2
gh-issues-importмне показалось сломанным (продолжал получать 404). Я использовал сценарий Микко, и он работал нормально. Тем не менее, он не закрыл закрытые проблемы, не импортировал ярлыки или контрольные точки. Просто обновите имя пользователя / пароль и удалите ссылку на colored.
— Alexandre

3
Чтобы скрипт Микко работал с закрытыми проблемами, просто добавьте state=closedк URL-адресу параметры запроса в get_issuesметоде.
— Calvin

1
Скрипт Микко отлично работает, но содержит ошибку, создает проблемы в обратном порядке. Просто добавьте & sort = created & direction = asc к параметрам запроса URL-адреса в методе get_issues.
— Марко Фуччи

1
Я также создал простой скрипт импортера задач, чтобы переместить единственную задачу из одного репо в другое. Он будет запрашивать у вас имя пользователя, пароль, репозиторий источника и назначения при каждом использовании, поэтому вам вообще не придется менять код. Метки и вехи также копируются. Может быть, это кому-нибудь пригодится: github.com/jotweh/IssueRelocate
— Ян Вай,


4

Переместить проблему Если у вас есть интеграция с ZenHub, вы увидите эту кнопку в правом нижнем углу при просмотре проблемы. Это позволяет скопировать проблему в другое репо в той же организации или скопировать и закрыть .

И да, "Move Issue" - неправильное название.

Кажется, что по-прежнему нет возможности переместить (скопировать и удалить) или просто удалить ошибочно представленную проблему.

РЕДАКТИРОВАТЬ: будьте осторожны, v1 этой функции имеет серьезные ограничения, такие как оставление некоторых (большинства?) Метаданных проблемы, отсутствие уведомления подписчиков и т. Д.


Хм, я не вижу этой кнопки, когда перехожу к одному из открытых вопросов.
— fent

1
@DeaDEnD О, черт возьми, как же плохо. Это функция ZenHub, а не встроенная в GitHub. Что ж, это совсем не сбивает с толку, когда две организации независимо взламывают один и тот же веб-интерфейс.
— Spike0xff 03

1
И я просто глупый чудак, думая, что на моем диалекте английского языка, когда вы что-то перемещаете , оно появляется в новом месте и перестает быть там, где было раньше ? Два слова UI, и они не могли получить их как правильно?
— Spike0xff 03

Я попробовал, но не смог найти репо моей организации в списке «перейти в»
— alanjds

2

Это теперь (май 2019 г.) проще.

См. « Улучшения для выдачи разрешений на передачу »

Пользователи с правом записи в два репозитория теперь могут использовать передачу задач для перемещения задач между ними.
Ранее только пользователи с правами администратора в обоих репозиториях могли передавать проблемы.

Кроме того, мы больше не разрешаем перенос задач из частных репозиториев в публичные.

Подробнее см. « Перенос задачи в другое хранилище ».


1

Визуальный ответ, взятый из документации github:

Перенос открытого вопроса в другой репозиторий

  1. На GitHub перейдите на главную страницу репозитория.
  2. Под именем вашего репозитория щелкните Проблемы. Вкладка "Проблемы"
  3. В списке проблем выберите проблему, которую хотите передать.
  4. На правой боковой панели нажмите Проблема с переносом. Кнопка для передачи вопроса
  5. Используйте раскрывающееся меню «Выбрать репозиторий» и выберите репозиторий, в который вы хотите перенести проблему.

Выберите выбор репозитория

  1. Щелкните Проблема передачи.

Кнопка выдачи перевода


Да, документация, которую я упоминаю в моем собственном ответе: stackoverflow.com/a/56373555/6309
— VonC
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.