2009-02-26 25 views
1

Wir verwalten unsere Web-Entwicklung mit SVN. Bei einem Projekt haben wir die Site bereitgestellt, indem Sie das Projekt exportiert und per FTP an den Client-Server gesendet haben. Dieser Client ist hands on und hat den Code auf dem FTP geändert. Wir werden eingestellt, um der Site jetzt mehr Funktionalität hinzuzufügen.SVN Änderungen auf FTP in Arbeitskopie zusammenführen

Wie kann ich die auf dem FTP-Server geleistete Arbeit in meine Arbeitskopie integrieren? Ich würde gerne SVN Requisiten und externe beibehalten und nur die Dateien aktualisieren, die geändert wurden, so dass ich diese Änderungen mit diff verfolgen kann. Vielen Dank!

Antwort

3

Kopieren Sie den Ordner in Ihre lokale Arbeitskopie und überschreiben Sie alle geänderten Dateien. Sie haben jetzt eine Arbeitskopie mit allen Änderungen, die Sie normalerweise festlegen können. Update 1: Jede unveränderte Datei wird als solche erkannt werden, so wird nicht begangen werden (zumindest Schildkröte mit)

+0

Sie möchten auch nach neuen unversionierten Dateien suchen, also vor und nach der Kopie nach unversionierten Dateien suchen und die neuen einchecken. –

+0

Kennen Sie eine gute Befehlszeilenmethode zum Kopieren von Dateien, ohne die gesamten Verzeichnisse zu ersetzen ? Ich möchte nicht alle .svn-Ordner zerstören. Verschieben Sie einfach die Dateien. Vielen Dank! – weotch

+0

In welcher Umgebung befinden Sie sich?/unter Windows Ich würde es nur aus dem normalen Datei-Explorer kopieren und es würde nur Ordner/Datei hinzufügen und Dateien ersetzen, so dass die .svn-Ordner immer noch da wären. – eglasius

1

Erstens, stellen Sie sicher, dass Sie lokale Kopie nicht auf Ihnen geschriebene Änderungen. Wenn Sie es tun und sie stabil sind, verpflichten Sie sie. Wenn Sie instabile Änderungen haben, erstellen Sie besser einen neuen Checkout aus der Hauptversion. Dann folge den nächsten Schritten.

  1. Erstellen Sie einen Tag/Zweig Ihrer aktuellen Hauptversion.
  2. Aktualisieren Sie Ihre lokale Kopie auf die Hauptversion. (Siehe Kommentar oben)
  3. Laden Sie den Code aus dem FTP
  4. Kopieren Sie den heruntergeladenen Code in Ihrer lokalen Arbeitskopie
  5. prüfen für die Dateien, die nach dem Überschreiben geändert.
  6. Verschieben Sie diese geänderten Dateien mit einem Diff-Tool.
  7. Commit die zusammengeführten Dateien.
  8. Wenn etwas schief geht, können Sie zu dem in Schritt 1 erstellten Tag/Zweig zurückkehren und es erneut versuchen.
0

Vielleicht ein wenig off-topic, aber wie wäre es mit einem verteilten Versionskontrollsystem wie Git, Basar oder Mercurial? Klingt genau wie was du brauchst.

Der Client kann einen Repo klonen und lokal Commits vornehmen, dann können Sie ihn zurück zum Master Repo migrieren, wenn Sie fertig sind. Auf diese Weise behalten Sie immer noch die gesamte Historie vom Client, FTP dagegen nicht.

Verwandte Themen