Jak przenieść problem z Github do innego repozytorium?


97

Zdarza się to od czasu do czasu. Pewna biblioteka jest zależna od innej, a użytkownik otwiera zgłoszenie należące do niewłaściwego repozytorium. Czy mogę przenieść problem do innego repozytorium?

Można argumentować, że problem może być postrzegany jako problem obu repozytoriów, ponieważ jedno zależy od drugiego i dopóki jedno nie działa poprawnie, oba nie. Ale wolałbym porozmawiać o rozwiązaniach problemu w repozytorium, do którego należy.


Nie musisz już być administratorem repozytoriów źródłowych i docelowych, aby przenosić problem między nimi. Zobacz moją odpowiedź poniżej .
VonC

Odpowiedzi:


36

Zobacz dokumentację GitHub dotyczącą problemów z przenoszeniem .

Przenoszenie otwartej sprawy do innego repozytorium

W GitHub przejdź do strony głównej repozytorium.

Pod nazwą repozytorium kliknij opcję Problemy .

Na liście problemów kliknij problem, który chcesz przenieść.

Na prawym pasku bocznym kliknij Przenieś ten problem .


2
Byłoby wspaniale móc przenieść wszystkie problemy z jednego repozytorium do drugiego.
CGFoX


Należy zauważyć, że potrzebujesz uprawnień do zapisu w obu repozytoriach, w przeciwnym razie ta opcja nie będzie dostępna.
Brett Sutton

60

Nie, oficjalnie nie możesz przenosić problemów między repozytoriami.

Jest jednak hack, github-Issues-import , rodzaj wtyczki do importowania problemów z repozytorium do innego.


4
Utworzono kolejną zaatakowaną wersję gh- Issues
Mikko Ohtamaa

2
gh-issues-importwydawało mi się zepsute (ciągle dostawałem 404). Użyłem skryptu Mikko i zadziałało dobrze. Jednak nie zamykał zamkniętych problemów ani nie importował etykiet ani kamieni milowych. Po prostu zaktualizuj nazwę użytkownika / hasło i usuń odniesienie do colored.
Alexandre

3
Aby skrypt Mikko działał w przypadku zamkniętych problemów, wystarczy dodać state=closeddo adresu URL parametry zapytania w get_issuesmetodzie.
Calvin,

1
Skrypt Mikko działa świetnie, ale zawiera błąd, tworzy problemy w odwróconej kolejności. Po prostu dodaj & sort = created & direction = asc do parametrów zapytania adresu URL w metodzie get_issues.
Marco Fucci

1
Stworzyłem również prosty skrypt importera problemów, aby przenieść pojedyncze wydanie z jednego repozytorium do drugiego. Poprosi Cię o nazwę użytkownika, hasło, repozytorium źródła i miejsca docelowego przy każdym użyciu, więc nie będziesz musiał w ogóle zmieniać kodu. Kopiowane są również etykiety i kamienie milowe. Może jest to przydatne dla kogoś: github.com/jotweh/IssueRelocate
Jan Wy


4

Przenieś problem Jeśli masz integrację z ZenHub , zobaczysz ten przycisk w prawym dolnym rogu podczas przeglądania problemu. Pozwala to na skopiowanie problemu do innego repozytorium w tej samej organizacji lub skopiowanie i zamknięcie .

I tak, „Move Issue” to błędne określenie.

Wydaje się, że nadal nie ma możliwości przeniesienia (skopiowania i usunięcia) lub po prostu usunięcia omyłkowo zgłoszonego problemu.

EDYCJA: Uwaga, wersja 1 tej funkcji ma poważne ograniczenia, takie jak pozostawienie niektórych (większości?) Metadanych problemu, nie powiadamianie subskrybentów itp.


Hmm, nie widzę tego przycisku podczas przechodzenia do jednego z otwartych problemów.
wysłany

1
@DeaDEnD O cholera, moja wina. To funkcja ZenHub, która nie jest wbudowana w GitHub. To wcale nie jest mylące, ponieważ dwie organizacje niezależnie hakują ten sam interfejs sieciowy.
Spike0xff

1
I czy jestem po prostu głupim dziwakiem, myśląc, że w moim dialekcie angielskiego, kiedy coś przenosisz , pojawia się w nowym miejscu i przestaje być tam, gdzie było wcześniej ? Dwa słowa UI, a nie mogli dostać się do nich zarówno prawo?
Spike0xff

Próbowałem, ale nie udało mi się znaleźć
repozytoriów

2

To jest teraz (maj 2019) łatwiejsze.

Zobacz „ Ulepszenia dotyczące wydawania uprawnień do przenoszenia

Użytkownicy z uprawnieniami do zapisu w dwóch repozytoriach mogą teraz przenosić problemy między nimi za pomocą transferu wydań.
Wcześniej tylko użytkownicy z uprawnieniami administratora w obu repozytoriach mogli przenosić problemy.

Ponadto nie będziemy już zezwalać na przenoszenie spraw z repozytoriów prywatnych do publicznych.

Więcej informacji można znaleźć w sekcji „ Przenoszenie sprawy do innego repozytorium ”.


1

Wizualna odpowiedź zaczerpnięta z dokumentów github:

Przenoszenie otwartej sprawy do innego repozytorium

  1. W GitHub przejdź do strony głównej repozytorium.
  2. Pod nazwą repozytorium kliknij opcję Problemy. Karta Problemy
  3. Na liście problemów kliknij problem, który chcesz przenieść.
  4. Na prawym pasku bocznym kliknij Problem z przeniesieniem. Przycisk do przesłania sprawy
  5. Użyj menu rozwijanego Wybierz repozytorium i wybierz repozytorium, do którego chcesz przenieść sprawę.

Wybierz repozytorium

  1. Kliknij Przenieś problem.

Przenieś przycisk wydania


Tak, dokumentacja, o której wspominam w mojej własnej odpowiedzi: stackoverflow.com/a/56373555/6309
VonC
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.