Frage

Ich habe eine externe SVN-Repository ausgecheckt, dass ich ein paar Patches installiert habe.
(Kann die Patches Anwenden nur manuell aufgrund von Konflikten durchgeführt werden.)

Jetzt möchte ich in der Lage diese lokale Kopie des Remote-Repository in einem richtigen Weg zu halten.
(Ich habe keine andere Zugriffsrechte haben als auf dem Remote-Repository zu lesen.)

Zunächst einmal muß ich meine lokalen Änderungen in die Lage sein zu Check-in Kontrollsystem in einer Art von Quelle, da es bei der Anwendung des Patches beteiligten manuelle Schritte waren.

Und zweitens mag ich noch in der Lage sein, Updates von dem Remote-Repository zu erhalten.

Was ist der beste Weg, um dies zu erreichen?

War es hilfreich?

Lösung

Ich glaube, ich ein anderes Quelle Steuerungssystem für meine lokale Kopie als SVN verwenden könnte?
Z.B. in meiner kompletten lokalen Kopie einschließlich den .svn Ordner in cvs zu überprüfen.

Oder ich könnte auch benutzen git-svn aber ich bin nicht sicher, ob das ist die beste Lösung.

Noch bessere Vorschläge?

Update: Ja, git-svn scheint die bevorzugte Lösung.

Aber für die Aufzeichnung, könnte man auch verwenden hg mit svn .

Andere Tipps

Eine traditionelle Art und Weise, dies zu tun ist eine exportierte Version des Codes zu nehmen und prüfen Sie sich auf Ihre eigene Repository. Wenn Updates auf dem Code ist, verschmelzen Sie sie in Ihrem Repo. Sie können durch geschickte Verzweigung (Lookup-Herstellerzweige) Zusammenführung helfen. Tag den Code in Ihrem Repo nach den Versionen des exportierten Code, den Sie eingecheckt.

Ich verstehe SVK kann diese Subversion-Umgebung in einer rein tun (ich habe es für so etwas wie dies eine vor einigen Jahren). Wenn Sie jedoch daran interessiert sind Git auszuprobieren, dann git-svn kann ein sogar sein bessere Wahl. Das ist, was ich heute verwenden.

Eine Einschränkung, obwohl - wenn Sie Windows verwenden, dann kann es zu Problemen git-svn bekommen zu arbeiten. Ich habe in diesem Bereich nur begrenzten Erfolg hatte und nicht verwenden git-svn auf Windows, weil das.

Mit svnsync Sie eine Kopie eines SVN-Repository halten kann, aber von dem Moment an Sie Ihre lokale Kopie ändern Sie Synchonisation nicht fortgesetzt werden kann.

Ich würde vorschlagen, git zu verwenden, um Ihre letzte Tag zu Tag Arbeit. Halten Sie eine lokale Arbeitskopie der SVN-Repository und setzt es unter git Kontrolle. Das wird git Master. Klon, die Repository in einem anderen Ort, Zweig Master und dort arbeitet, die Anwendung des Patches direkt auf den Zweig.

Sie regelmäßig Ihre svn WC aktualisieren und es in Ihrem Git Repository ziehen, als Master. Dann verschmilzt Master mit Ihrer Branche.

Die verwirrende Sache ist, dass Sie haben „zwei git Benutzer“, so wird man die lokale SVN-Repo-Arbeitskopie und der andere gepatchten Zweig sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top