Frage

ich in einer gemischten Source-Control-Umgebung arbeiten. Wir sind immer noch meist auf CVS, aber neuere Projekte sind in SVN. Aber ich finde es schwer, Buy-in bekommen für SVN weil TortoiseSVN nicht wie TortoiseCVS arbeitet.

Der 3-Wege-Merge hat viele kognitive Dissonanz und während TortoiseCVS scheint immer den Merges richtig machen, TortoiseSVN fast immer erfordert die manuelle Hilfe. Auch nach Konflikten Fixierung, müssen Sie die Datei manuell als ok markieren.

Hat jemand irgendwelche Tipps, wie TortoiseSVN arbeiten eher wie TortoiseCVS zu erhalten?

Bearbeiten

Um mehr klar, ich will nicht ein Drei-Wege-Merge tun, wenn möglich, würde Ich mag einen Zweiweg tun verschmelzen wie TortoiseCVS tut. Ich weiß, dass die resultierende Datei die gleiche in CVS und SVN ist, zum Beispiel einer Visual Studio Projektdatei zwei verschiedene Versionen hat. Dies wird immer in einem Konflikt in TortoiseSVN beenden und nie in einem Konflikt in TortoiseCVS.

SVN wie folgt aussieht:

<<<<<<< .mine
     <ApplicationRevision>22</ApplicationRevision>
=======
     <ApplicationRevision>28</ApplicationRevision>
>>>>>>> .r195290

CVS loks wie

<<<<<<< SomeFile.cproj
     <ApplicationRevision>22</ApplicationRevision>
=======
     <ApplicationRevision>28</ApplicationRevision>
>>>>>>> 1.121

so soll ich in der Lage sein, die gleiche Art von Merge zu bekommen. Auch TortoiseSVN fast immer Konflikte hat bei der Aktualisierung, wenn zwei Personen auf der gleichen Datei arbeiten, auch wenn sie an verschiedenen Orten arbeiten, TortoiseCVS dieses Problem nicht haben. Ich gehe davon aus TortoiseSVN ist mehr konservativ und zwingt Sie, die merge TortoiseCVS zu überprüfen ist, unter der Annahme, CVS es richtig. Ich war, wenn es fragen, wo einige Optionen irgendwo in TortoiseSVN versteckt es liberaler zu sein, und auch anstelle eines Drei-Wege ein Zweiweg verschmelzen zu tun.

Oh, und ja, wir sind mit Subversion 1.5, die Punkte hat fusionieren (Äste, ohne dass dies im Grunde nutzlos waren).

War es hilfreich?

Lösung

Hier finden Sie aktuelle BeyondCompare und Araxis Merge . Sie bieten Hinweise auf sie in TortoiseSVN als benutzerdefinierte Merge / Diff-Tools zu integrieren.

Andere Tipps

Konflikt Markierung sollte nichts mit Schildkröte selbst zu tun haben, sondern SVN vs. CVS. Es ist SVN, der bestimmt, ob eine Datei in Konflikt ist, nicht Schildkröte. Ich kann nicht sagen, warum das der Fall ist, oder was können Sie dagegen tun können. Wahrscheinlich sehr wenig. SVN ist wahrscheinlich nur mehr konservativ, wenn es um die Annahme verschmilzt kommt. Wieder positiv, nicht über den Algorithmus, der verwendet wird, aber es scheint Flagge sind eine Datei als in Konflikt, wenn geänderte Zeilen nahe genug beieinander (und die Änderungen sind unterschiedlich).

Ich denke, die TortoiseMerge ziemlich nett ist, tatsächlich so hoffentlich kann ich es erklären, so gut ich kann und Sie etwas sehen könnte, die Sie vorher nicht kannten. Sie haben in der Regel zwei Scheiben Seite an Seite, und dann eine untere Scheibe. Im unteren Bereich ist das Ergebnis der Zusammenführung, mit Konflikten in rot markiert, zusammen mit anderen Stücken, die bereits erfolgreich zusammengeführt wurden. Auf den Konfliktlinien können Sie mit der rechten Maustaste, und wählen, ob Sie die Änderungen halten, andere Änderungen (wie in der „Mine“ Scheibe zu sehen) (wie im „Deren“ Scheibe zu sehen ist), oder Sie können eine Kombination derer annehmen .

Schließlich kann ich erklären, warum Speichern eine Zusammenführung und Markierung als aufgelöst sind zwei getrennte Schritte. In SVN, etwas als aufgelöst markiert erlaubt es wieder begangen werden. Es ist im Grunde eine ausfallsichere, dass Sie von der Begehung eine Datei zu halten hilft, die Sie im Werkzeug zusammengeführt und gespeichert haben, aber noch nicht die Bearbeitung beendet / Prüfung es. Grundsätzlich SVN ist die Unterscheidung zwischen etwas in einem Merge-Tool speichern und tatsächlich zu lösen.

Hope, die geholfen haben.

Nur eine wilde Vermutung hier, aber wenn Sie CVSNT auf dem Server diese Beobachtung auf der Tatsache beruhen, indem du vielleicht, dass CVSNT einfach viel besser ist als SVN zu verschmelzen, da es den Begriff der „mergepoints“ hat. Dies führt in der Regel zu deutlich weniger Konflikten, wenn sie von / zu dem gleichen Zweig mehrmals zu verschmelzen.
Ich glaube nicht, dass es viel, die über dies getan werden kann, zumindest nicht auf eine unaufdringliche Art und Weise.

EDIT: Ich stehe korrigiert. Ab v1.5 SVN hat auch mergepoints. Ich würde diese Antwort löschen, aber ich denke, es ist immer noch von Nutzen zu jemand sein könnte, eine ältere Version von SVN.

Wenn das nicht das, was du redest vielleicht sollten Sie Ihre Frage ein bisschen mehr klären. Sind Sie sicher, dass dies über die Unterschiede zwischen TortoiseSVN und TortoiseCVS und nicht eher zwischen CVS (NT?) Und SVN?

ich glaube, Ihre Frage konzentriert, wie man besser mit Subversion unter Windows unterstützt verschmelzen.

Es kann nicht gesagt werden, was Sie waren auf der Jagd, aber ich Emacs regelmäßig unter Windows verwendet Fusion unter Subversion zu erleichtern.

Emacs + SVN unter Windows

Eine Kombination von EmacsW32 + Cygwin (mit svn ) + psvn Emacs-Paket + “ eingebaute“emacs fusionieren Werkzeuge gut unter Windows funktioniert. Sie finden psvn heutzutage in Emacs-Standard kommt, und wenn es nicht in dein ist, können Sie herunterladen und installieren easiliy und schnell.

Durch die integrierte Unterstützung in der Emacs-basierten Toolset, ich bin etwa 5-fach zu 10x schneller bei Verschmelzungen als ein typischer Mitarbeiter zu lösen. Sie scheinen Inhalt TortoiseSVN + ihre anderen Lieblingseditor und zumessen es auf diese Weise ... ich mehrere Male angeboten haben, sie auf die Nutzung und die Macht der Emacs-Funktionen zu instruieren (sobald es Setup-up ist, es kümmert sich um sich selbst), aber es scheint, dass sie eher auf ihre rudimentären Werkzeuge bleiben würde und investieren nicht, ihre Produktivität zu steigern.

SVN ist ein mächtiges Werkzeug, und wenn Sie es verwenden müssen, können Sie auch prüfen, verbringen einige Zeit investieren, in denen es für Sie arbeitet.

David

Uh, vielleicht fehlt ich das Problem. Wenn TortoiseCVS es tut „Recht“ (wie Ihr Team braucht es getan - oder erwartet es getan werden) ... warum dann würden Sie TortoiseSVN wählen

?

Nehmen Sie den „Zweck“ nicht verwirren diese Technologie ... zu „dienen“, um das Entwicklungsteam in dem Entwicklungsprozess.

(Ich verwende beide im Moment TortoiseSVN ausprobieren .. aber ich weiß nicht, wie die Tag / Verzweigungsmethode in SVN so viel bisher)

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