Was ist die am wenigsten schmerzhafte Art und Weise lokale Subversion Änderungen auf eine andere Maschine zu übertragen?

StackOverflow https://stackoverflow.com/questions/573849

  •  05-09-2019
  •  | 
  •  

Frage

Ich arbeite an meinem Laptop auf eine Änderung. Es ist nicht bereit gestellt werden, noch zu der Verwahrungsstelle, aber ich möchte auf meinem Desktop zu arbeiten halten. Mein Änderungsset ist ziemlich groß und es nicht nur Änderungen enthält, enthält es auch neue Dateien und gelöschte Dateien auch.

Ich kann die komplette lokale Arbeitskopie auf einem anderen Computer kopieren und die Änderungen an Ort und Stelle bekommen. Allerdings klingt es wie eine schmutzige Lösung (weil ich Metadaten auf einer anderen Maschine verschmutzen bin), und ich bin Artefakte bauen unnötig zu übertragen.

Ich habe versucht, die Übertragung .patch Dateien TortoiseSVN verwenden, aber es hält beschwerte sich über „Patch gehört zu einer älteren Version“ (nicht wahr, und warum fragst du?) Oder „Linien nicht übereinstimmen“ (ja sie es nicht tun, weil ich geändert Sie). Ich wusste nicht, wie „kontinuierliche Fehler Popups“ Erfahrung überhaupt.

Ich will nicht Cygwin installieren, so dass Befehlszeilen Patch steht außer Frage.

Ich denke, die letzte Option in eine Schleife von „checkin / update“ eine Niederlassung für diese Funktion und gehen würde gabeln. Allerdings sind diese in trac Geschichte zu schaffen Verschmutzung dort gezeigt.

Jede bessere Ideen? Oder alles, was ich bin fehlt?

War es hilfreich?

Lösung

Branching ist die saubere Lösung. Und hat den zusätzlichen Vorteil, eine Sicherung des Gebens, während Sie auf dieser großen Veränderung arbeiten. Ganz zu schweigen davon, einfache Synchronisation von zukünftigen Änderungen zwischen Maschinen.

Aber, können Sie wahrscheinlich mit nur zippen auf das gesamte Arbeitsverzeichnis weg und es irgendwo auf der anderen Maschine Dumping.

Andere Tipps

Haben Sie versucht, eine Niederlassung Erstellen und Verwenden von svn switch . Es wird Sie zu einem anderen Teil des Repository übertragen und die Änderungen pflegen, wenn Sie von Ihrer ersten Arbeitsrevision verzweigen.

Wie für alternative Ansätze, könnten Sie hinzufügen GIT in den Mix. GIT verteilten Quellcodeverwaltung Modell Sie erlauben würde, Changesets hin und her zwischen Ihrem Desktop und Laptop zu drücken. Und da GIT seine changeset Informationen auf dem lokalen Dateisystem verwaltet die Commits, die Sie auf jeder Seite machen würden nicht im Stream angezeigt werden, die Ihre TRAC Systemüberwachung ist.

Also, gehen Sie im Grunde ‚offline mit Subversion‘ und vervollständigen Sie Ihre Arbeit mit GIT verpflichtet. Sobald Sie fertig ist, überprüfen Sie in der ganzen Kit und kaboodle zu Ihrer Subversion Stamm.

Feature-Niederlassungen in Subversion leicht und eignen sich perfekt für isolierende Funktion spezifische Arbeit wie diese. Wenn Sie Subversion 1.5 oder höher dann die gesamte Synchronisierung mit und Prozesszusammenführung ist viel einfacher, als es mit 1,4 war.

Ich möchte einen temporären Zweig für diesen Zweck erstellen. Auf diese Weise werden Sie zu Ihrer Verfügung mit SVN-Tool und Sie sind nicht das Meta-Meta verschmutzen oder die Artefakte zu kopieren.

Darüber hinaus sieht es aus wie Sie in Ihrem Code in beabstandeten Intervall überprüft und ein Zweig mit auch Datenverlust im Fall Ihre Festplatte abstürzt verhindern.

Nicht die letzte Option, die erste:. Sie einen Feature-Zweig haben sollten schon vor langen erstellt, wenn es wirklich so viele Änderungen sind

Sie können dies tun, noch eine svn Kopie von Arbeitskopie verzweigen-Verzeichnis auf dem Server, indem Sie, so dass Sie nicht eine „Schleife von checkin / update“ brauchen, nur einen checkin, nur ein update / Schalter, wirklich.

Wie     svn copy MyWorkingCopy svn: // theserver / Projekt / branches / features / my-Feature-Zweig

Wenn Sie nur eine Replik auf Ihrem Desktop benötigen, finde ich, dass Live Sync funktioniert perfekt für dieses Szenario. Ich habe es bis zu meiner Kasse Ordner auf meinem Laptop und zwei Desktops zu replizieren, die mir genau den gleichen Zustand auf den drei Maschinen gibt. Und das alles geschieht kontinuierlich im Hintergrund.

Oder Sie könnten für eine Filiale gehen und sicherstellen, dass Sie nicht vergessen, alle Änderungen auf dem Laptop zu begehen, bevor Sie auf den Desktop. : -)

EDIT: In reponse auf den Kommentar - ja, es ist möglich, in Schwierigkeiten zu bringen, wenn Sie Dateien Bearbeitung starten, während die beiden Maschinen in dem Prozess der Synchronisierung sind. Das Schlimmste, was passieren kann, ist, einige Änderungen an einer der Maschinen zu verlieren. In der Praxis sind die Chancen, damit dies geschehen kann recht klein.

Nun, die meisten Leute würden argumentieren, dass, wenn Ihre „Änderungsset ist ziemlich groß“ Sie sollten auf jeden Fall die Änderungen einchecken (in einer Niederlassung in erforderlich)!

Sie können versuchen, SVK . Aus der Blog-Post und SVK-Website, Typisches SVK Nutzungsszenario ist

  • Spiegel vorhandene Remote-Repositories,
  • erstellen Sie dann Zweige auf Ihrer Maschine,
  • lokal arbeiten auf diesen Zweigen und
  • , wenn Sie fertig sind, verschmelzen sie zu Ihrem gespiegelten Stamm zurück,
  • der letzte Schritt wird transparent über die Remote-Repository aktualisiert.

Ich habe keine praktische Erfahrung SVK zu verwenden. Aber ich denke, es ist Ihr Szenario passt. Dieser Blog-Eintrag beschreibt es in mehr Details http: //www.bieberlabs .com / Archiv / 2004/11/30 / mit-sVK /

Ich denke, eine Windows-Version von SVK zur Verfügung steht ( SVKWin32 ) und TortoiseSVN kann dann der lokale Spiegel-Repository für Update / verpflichtet.

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