SVN: Repository gelöscht (versehentlich)

s24!

Registered User
Guten Abend,

mir ist gerade was unglaublich Dummes passiert: Ein rm -rf an der falschen Stelle und weg war unser - nirgendwo komplett gesichertes - SVN. :|

Nun sieht es hier so aus, dass als Post-Commit-Hook auf allen Produktivservern ein "svn update" ausführt, sodass ich eine zu 100% aktuelle Kopie schon mal von einem solchen Produktivserver herunterladen und in den (ehemaligen :rolleyes:) SVN-Ordner einspielen konnte. Ich habe ein neues SVN angelegt um die diversen benötigten Dateien in den SVN-Ordner zu kopieren. Zudem wurde die alte UUID, die mir mein SVN-Client verraten konnte, eingetragen.

Jetzt sagt mir mein SVN-Client beim "svn update":
Code:
svn: E160006: No such revision 248

Soweit verständlich - aber wie kommt man da jetzt weiter? Lokal aus dem Ordner .svn anbieten könnte ich noch:

Code:
tim@pingu:~/svn$ ls -l .svn/
insgesamt 1148
-rw-rw-r--   1 tim tim       3 Dez  7 21:01 entries
-rw-rw-r--   1 tim tim       3 Dez  7 21:01 format
drwxrwxr-x 256 tim tim    4096 Jan 18 19:31 pristine
drwxrwxr-x   2 tim tim    4096 Feb 17 02:40 tmp
-rw-r--r--   1 tim tim 1154048 Feb 18 00:30 wc.db


Ich bin mit dem Thema SVN eher in den "Grundzügen" vertraut; ob in den Daten, die ich da reinkopiert habe, überhaupt die alten Revisionen drin sind, ist mir nicht bekannt... Wäre schön. Der Verlust wäre aber auch keine Katastrophe. Wichtig ist, dass es wieder läuft.

Tipps? :) Danke!


Viele Grüße
Tim
 
Ich denke du hast 2 Möglichkeiten:

Wenn du ein ausgechecktes (aktuelles) Verzeichnis irgendwo hast, dann kannst du zumindest diese Revision in ein neues, frisches Repository einchecken.

Wenn du ein SVN Verzeichnis irgendwo hast, so sieht es ja aus, versuche es mal gescheit zu dumpen:
http://svnbook.red-bean.com/de/1.5/svn.ref.svnadmin.c.dump.html
Und anschließend wieder einzuspielen.

Und fürs nächste Mal: You better have a backup!
 
Wenn du ein ausgechecktes (aktuelles) Verzeichnis irgendwo hast, dann kannst du zumindest diese Revision in ein neues, frisches Repository einchecken.
Wie gesagt: Hab ich. Aber das ist eben nur die aktuelle Revision, in der die alten fehlen. Zumindest in der Form. Denn ich bin mir eigentlich sicher, dass das SVN auf den Produktivservern alle Revisionen "hat". Die Frage wäre dann:
Wo speichert der SVN-Server die aktuelle Revisionsnummer? Er weiß ja schlichtweg nicht, dass er ein "komplettes" Repository gekriegt hat. :/

Wenn du ein SVN Verzeichnis irgendwo hast, so sieht es ja aus, versuche es mal gescheit zu dumpen:
http://svnbook.red-bean.com/de/1.5/svn.ref.svnadmin.c.dump.html
Und anschließend wieder einzuspielen.
Funktioniert nur vom SVN-Server aus, nicht von den ausgecheckten Clients. :(

Und fürs nächste Mal: You better have a backup!
Absolut. ;)
 
Ich hab mich jetzt dazu entschieden, ein neues Repository mit der aktuellsten Revision anzulegen und mich nicht weiter um die "Rettung" der alten zu kümmern. Nur: Wie kriege ich jetzt den bestehenden Ordner mit den Projektdaten in das Repository? Also er ist reinkopiert worden, aber bei einem svn checkout erhalte ich einen leeren Ordner.
svn add test-svn/Ordnername sagt:
Code:
svn: 'test-svn' is not a working copy

:(

Edit: Ja klar. Dort hab ich ja auch nie ausgecheckt. Werde mal die Projektdaten kopieren, dort auschecken und dann von dort aus ein svn add versuchen.
 
Das kann doch alles nicht wahr sein. Neues Repository erstellt, sämtliche '.svn'-Ordner aus den Projektdaten gelöscht (bis ich das mal raus hatte... :D) - Stand jetzt:

Code:
root@eus1:/srv/www/vhosts/domain.tld/svn# ls -laR Projektdaten/ | grep -F ".svn"
root@eus1:/srv/www/vhosts/domain.tld/svn# svn add Projektdaten/
svn: warning: 'Projektdaten' is already under version control
root@eus1:/srv/www/vhosts/domain.tld/svn# svn delete Projektdaten/
svn: Directory 'Projektdaten/.svn' containing working copy admin area is missing

Hä? :(
 
Hast Du mal ein "svn export" der Working-Kopie probiert und diesen Verzeichnisbaum per "svn import" ins SVN geschubst?!
 
Ich hatte zwischenzeitlich einfach für die Projektdaten einen anderen Ordnernamen benutzt als wir ihn vorher hatten, das "svn add" klappt dann. Nur beim Checkout kommen schlichtweg keine Daten an. Als wäre der Ordner nicht existent.

apache2-Accesslog:

Code:
IP - - [18/Feb/2013:21:22:08 +0100] "OPTIONS /svn/Projektordner HTTP/1.1" 401 677 "-" "SVN/1.7.5 neon/0.29.6"
IP - tim [18/Feb/2013:21:22:08 +0100] "OPTIONS /svn/Projektordner HTTP/1.1" 200 804 "-" "SVN/1.7.5 neon/0.29.6"
IP - tim [18/Feb/2013:21:22:08 +0100] "PROPFIND /svn/Projektordner HTTP/1.1" 404 446 "-" "SVN/1.7.5 neon/0.29.6"
IP - tim [18/Feb/2013:21:22:08 +0100] "PROPFIND /svn HTTP/1.1" 207 545 "-" "SVN/1.7.5 neon/0.29.6"
IP - tim [18/Feb/2013:21:22:08 +0100] "PROPFIND /svn/!svn/vcc/default HTTP/1.1" 207 445 "-" "SVN/1.7.5 neon/0.29.6"
IP - tim [18/Feb/2013:21:22:08 +0100] "PROPFIND /svn/!svn/bln/0 HTTP/1.1" 207 459 "-" "SVN/1.7.5 neon/0.29.6"
IP - tim [18/Feb/2013:21:22:08 +0100] "PROPFIND /svn/Projektordner HTTP/1.1" 404 446 "-" "SVN/1.7.5 neon/0.29.6"
IP - tim [18/Feb/2013:21:22:09 +0100] "PROPFIND /svn HTTP/1.1" 207 545 "-" "SVN/1.7.5 neon/0.29.6"
IP - tim [18/Feb/2013:21:22:09 +0100] "PROPFIND /svn/!svn/vcc/default HTTP/1.1" 207 465 "-" "SVN/1.7.5 neon/0.29.6"
IP - tim [18/Feb/2013:21:22:09 +0100] "PROPFIND /svn/!svn/bc/0/Projektordner HTTP/1.1" 404 451 "-" "SVN/1.7.5 neon/0.29.6"

Ich bin absolut ratlos... Der Ordner existiert; der 404er kommt ja erst beim PROPFIND auf das Verzeichnis. :(


Versuche jetzt das mit dem export / import.
 
Last edited by a moderator:
Jetzt zweifle ich endgültig an meinem Geisteszustand.

Nach einem Export / Import kann ich einen Checkout ausführen. Soweit, so gut. Aber: Es liegen im SVN-Ordner überhaupt keine solchen Dateien. Wo nimmt er die jetzt her?

Edit: Er hat sie beim Importieren wohl in svn/db/revs/0/ abgelegt. Aber dahin sollten sie doch nie. :(
 
Vielleicht wäre ein "svn commit" nach dem "svn add" klug gewesen, hätte die Sache ein wenig verkürzt. :rolleyes: Läuft jetzt. Danke an alle!
 
Back
Top