Как мне перенести проблему с 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 этой функции имеет серьезные ограничения, такие как оставление некоторых (большинства?) Метаданных проблемы, отсутствие уведомления подписчиков и т. Д.

Spike0xff
источник
Хм, я не вижу этой кнопки, когда перехожу к одному из открытых вопросов.
fent
1
@DeaDEnD О, черт возьми, как же плохо. Это функция ZenHub, а не встроенная в GitHub. Что ж, это совсем не сбивает с толку, когда две организации независимо взламывают один и тот же веб-интерфейс.
Spike0xff 03
1
И я просто глупый чудак, думая, что на моем диалекте английского языка, когда вы что-то перемещаете , оно появляется в новом месте и перестает быть там, где было раньше ? Два слова UI, и они не могли получить их как правильно?
Spike0xff 03
Я попробовал, но не смог найти репо моей организации в списке «перейти в»
alanjds
2

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

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

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

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

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

VonC
источник
1

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

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

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

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

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

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

Рияфа Абдул Хамид
источник
Да, документация, которую я упоминаю в моем собственном ответе: stackoverflow.com/a/56373555/6309
VonC