SVN Cofnij Usuń przed zatwierdzeniem

Jeśli usuniesz katalog z kopii roboczej SVN, ale jeszcze się nie zobowiązałeś, nie jest oczywiste, jak go odzyskać. Google sugeruje nawet "svn undo delete before commit" jako popularne zapytanie po wpisaniu "svn undo d", ale wyniki wyszukiwania są nieprzydatne.

Edit: chciałbym mieć rozwiązanie, które działa w subversion 1.4.4

Author: LaC, 2009-11-23

7 answers

svn revert deletedDirectory

Oto dokumentacja dla polecenia svn revert.


EDIT

Jeśli deletedDirectory zostało usunięte za pomocą rmdir, a nie svn rm, musisz wykonać

svn update deletedDirectory

Zamiast tego.
 145
Author: Michael Hackner,
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
2020-06-20 09:12:55

1) do

svn revert . --recursive

2) parse output for errors like

"Failed to revert 'dir1/dir2' -- try updating instead."

3) wywołanie svn dla każdego z katalogów błędów:

svn up dir1/dir2
 156
Author: Denis Barmenkov,
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
2010-09-15 12:43:59

To, co dla mnie zadziałało, to

svn revert --depth infinity deletedDir
 32
Author: Jason,
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
2014-03-12 18:54:47

Wykonaj (rekurencyjną) operację przywracania z poziomu powyżej usuniętego katalogu.

 4
Author: Greg Hewgill,
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
2009-11-23 23:08:31

Aby zrobić z niego jeden liner możesz spróbować czegoś takiego:

svn status | cut -d ' ' -f 8 | xargs svn revert
 4
Author: Earle,
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
2013-07-25 15:56:53

Najprostszym rozwiązaniem jakie udało mi się znaleźć było usunięcie katalogu nadrzędnego z kopii roboczej( z rm-rf, a nie SVN delete), a następnie uruchomienie svn update w serwerze. Na przykład, jeśli usunięte a / b / c, rm-rf a/B, cd a, svn w górę. To wszystko przywraca. Oczywiście jest to dobre rozwiązanie tylko wtedy, gdy nie masz innych niezatwierdzonych zmian w katalogu nadrzędnym, które chcesz zachować.

Mam nadzieję, że ta strona będzie na szczycie wyników następnym razem google to pytanie. Byłoby nawet lepiej, jeśli ktoś zasugerował czystszą metodę, oczywiście.

 1
Author: LaC,
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
2009-11-23 23:08:08

Możesz usunąć folder i zaktualizować Katalog nadrzędny przed zatwierdzeniem:

rm -r some_dir

svn update some_dir_parent

 0
Author: xinthose,
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-07-12 13:33:45