Potrzeba przywrócenia usuniętej gałęzi w Subversion

Mam dwie robocze kopie repozytorium Subversion, jedną z pnia i jedną z gałęzi, którą stworzyłem.

Przypadkowo usunąłem gałąź w przeglądarce repozytorium. Jak przywrócić gałąź? Czy istnieje sposób na cofnięcie ostatniego commita dla całego repozytorium?

Author: Peter Mortensen, 2009-10-14

7 answers

Użycie:

svn cp [path to deleted branch]@[revision before delete] [new path]

Na przykład:

svn cp svn://myrepo.com/svn/branches/2.0.5@1993 \
       svn://myrepo.com/svn/branches/2.0.5_restored

Gdzie rok 1993 to zmiana przed usunięciem...

Tutaj {[11] } jest dobra dokumentacja...

Musi być jakiś sposób na uniknięcie symbolu @ w Nazwie użytkownika...

 69
Author: John Weldon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-03 09:23:13

Oto rozwiązanie, jeśli używasz TortoiseSVN:

  1. w przeglądarce repo przejdź do folderu nadrzędnego usuniętego folderu (np. "gałęzie").
  2. Kliknij prawym przyciskiem myszy na folderze i wykonaj " Pokaż dziennik."
  3. Znajdź wersję, w której usunięto określony folder branch.
  4. Wybierz rewizję bezpośrednio przed tą rewizją.
  5. Kliknij prawym przyciskiem myszy i wybierz " Przeglądaj repozytorium."Teraz patrzysz na stan repozytorium w odpowiednim momencie zanim usunąłeś gałąź.
  6. Znajdź folder gałęzi, który usunąłeś, Wybierz, kliknij prawym przyciskiem myszy i wybierz " Kopiuj do..."
  7. możesz teraz skopiować usunięty folder do nowej lub nawet tej samej nazwy.
 86
Author: Brian Neal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-10 16:24:13

Zakładając, że Twoja ostatnia wersja to 108:

svn merge --revision 108:107
svn diff 
svn commit -m "Reverted revision 108"

Możesz również dodać swój źródłowy adres URL do połączenia:

svn merge --revision 108:107 http://svn/repo/

Gdzie indziej na Stack Overflow: cofanie commita w TortoiseSVN

 4
Author: leonm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:47:11

Napotkałem ten problem, ale powyższe polecenie nie zadziałało na mnie. To było o wiele łatwiejsze. Sprawdziłem gałąź przy jednej rewizji, zanim ją usunąłem.

Poprawka, która została usunięta to 9331. Sprawdziłem na 9330:

svn co https://svn.acme.com/svn/giantFlySwatterTargetingSystem/branches/bug1234@9330 restored
To było łatwe rozwiązanie.
 3
Author: Alan B. Dee,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-03 09:33:30

To mi pomogło,

Svn CP --username your_user_name https://path_to_your_repo/branches/deleted_branch_name@last_revision_before_deletion https://path_to_your_repo/oddziały/new_name_for_branch

 0
Author: Sibin John Mattappallil,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-19 05:28:28

Alternatywnie, jeśli to był pojedynczy commit, który usunął gałąź:

Przywróć commit, a następnie commit

svn merge -c -REV .
svn commit -m "Reverting deletion of branch XYZ"
 0
Author: BatteryBackupUnit,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-04 12:37:14

Natknąłem się na ten sam problem i rozwiązałem go w ten sposób w SmartSVN (Enterprise 6.0.2):

  • Otwórz widok na tułów / głowę
  • wywołaj repozytorium menu / Otwórz w przeglądarce repozytorium (usunięta gałąź nie jest widoczna w folderze branches)
  • w przeglądarce repozytorium, wywołaj menu repozytorium / Pokaż rewizję...
  • Wybierz wersję tuż przed usunięciem (usunięta gałąź pojawia się ponownie w folderze branches)
  • Kliknij prawym przyciskiem myszy usuniętą gałąź, wybierz Kopiuj w menu i wprowadź tę samą ścieżkę dla celu
 0
Author: Jean-Xavier Bardant,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-24 09:45:50