fragen stichworte

Erstellen Sie das SVN-Repository aus zwei Arbeitskopien neu

Dies könnte eine wiederholte Frage sein (Erneuerung des svn-Repositorys)), aber ich denke, ich sollte das noch einmal fragen.

Ich habe kein aktuelles Backup des Repositorys, aber ein Monat altes Backup. Ich habe mehrere Arbeitskopien, die aktuell sind. Wenn Sie die monatliche Sicherung verwenden, versucht das Update, dass die Revision nicht vorhanden ist, da das Repository eine ältere Version hat.

Was ist die beste Option für mich?

Beginne ich mit dem Erstellen eines neuen Repositorys? Ich verliere die ganze svn-geschichte. Ich müsste die beiden Arbeitskopien jedoch manuell zusammenführen. Kann jemand bitte die Schritte auflisten?

Oder benutze ich irgendwie das monatliche Backup, um das svn-Repository neu zu erstellen. Damit habe ich etwas Geschichte und verliere nur für den letzten Monat Geschichte. Ich bin mir nicht sicher, ob dies möglich ist, aber geben Sie bitte die Schritte an.

Jede Hilfe wird sehr geschätzt. Vielen Dank.

antworten

Or do I somehow use the month old backup recreate the svn repository. So that I have some history and lose history only for the last month. Not sure if this possible, but if it is please list the steps.

Das würde ich empfehlen. Sie erhalten ein Repository mit der gesamten Vergangenheit und ein einziges großes Commit mit der Summe aller Änderungen, die im letzten Monat aufgetreten sind.

  1. Stellen Sie Ihr Backup von vor einem Monat wieder her und richten Sie Ihren Subversion-Server erneut ein.
  2. Checken Sie eine Arbeitskopie von diesem wiederhergestellten Server aus. Der Inhalt wird (offensichtlich) einen Monat alt sein. (Wir nennen diese WC1)
  3. Wechseln Sie zu einer der Arbeitskopien, die Sie ausgecheckt haben, bevor Sie Ihren Server verloren haben ... die aktuellste. (Wir nennen diese WC2)
  4. Verschieben Sie die Dateien manuell von Ihrer letzten Arbeitskopie (WC2) an den entsprechenden Ort in WC1. Verschieben Sie keine Verzeichnisse, nur Dateien. Wenn Verzeichnisse erstellt wurden, erstellen Sie sie erneut mit svn mkdir. Wenn Dateien verschoben wurden, verschieben Sie sie mit svn mv. In diesem Schritt wird der Unterschied zwischen Ihrer monatlichen Sicherung und Ihrer letzten Arbeitskopie manuell wiederhergestellt.
  5. Wenn Sie glauben, dass Sie es verstanden haben, können Sie mit svn diff das riesige Commit doppelt und dreifach prüfen.
  6. Bestätigen Sie die Änderungen
  7. Löschen Sie die fehlerhafte Arbeitskopie, da alle darin enthaltenen Änderungen wieder in das Subversion-Repository auf dem Server migriert wurden.

Ich würde versucht sein, git-svn zu verwenden, um das alte Repository einzulesen. Fügen Sie dann alle Daten Ihrer Arbeitskopien in Ihr Git-Repository ein. Und schließlich baue ein neues sauberes svn-Repository und drücke alles in git ein. Natürlich muss jeder, der das Repository verwendet, einen neuen Checkout aus dem neuen Repository durchführen.

Meine Idee ist, dass es etwas ähnlich zu dem beschriebenen Prozess hier funktionieren würde.