3 Stimmen

Gibt es eine Möglichkeit, CVS dazu zu bringen, keine Merge-Konflikte bei Schlüsselwort-Substitutionen wie $Id: $

Wir verwenden derzeit CVS und entwickeln neue Funktionen in einem Zweig, bevor wir sie in den Stamm überführen. Gelegentlich kommt es zu Konflikten bei der Zusammenführung, die durch die CVS-Schlüsselwortsubstitution verursacht werden. Wenn wir also die Konfliktdatei überprüfen, sehen wir etwas wie dies

<<<<<<< collect_logs.conf
# CVS $Id: collect_logs.conf,v 1.6 2010/02/03 16:43:11 peterw Exp $
=======
# CVS $Id: collect_logs.conf,v 1.13 2010-05-07 17:14:43 peterw Exp $
>>>>>>> 1.13

Und das wird die sólo Konflikt in der Datei.

Ich habe ein wenig nachgeforscht, und wie Sie wahrscheinlich feststellen, gibt es einen kleinen Unterschied in der Formatierung des Datums im Eintrag. Das liegt daran, dass verschiedene cvs-Versionen auf verschiedenen Plattformen verwendet werden (eine auf Solaris, die andere auf Linux). Ich glaube, das ist der Grund für den Konflikt.

Die Abhilfe besteht darin, das Projekt einfach neu auszuchecken und dann von dort aus das cvs-Update durchzuführen. Da alle Schlüsselwörter im gleichen Format generiert werden, können sie problemlos zusammengeführt werden.

Meine Frage ist, ob Sie cvs befehlen können, besser mit dem Zusammenführen der Schlüsselwort-Ersetzungen umzugehen. Oder ist es einfach besser, es mit neuen Checkouts zu vermeiden, wie ich es habe?

Gracias

Peter

2voto

Burhan Ali Punkte 2263

Sie würden verwenden update -kk ... wie in der CVS-Dokumentation über Zusammenführung und Schlüsselwörter (Abschnitt 5.10).

En k verbunden mit dem -k (Schlüsselwort-Substitutionsmodus) veranlasst CVS, nur das Schlüsselwort auszugeben und nicht den Wert des Schlüsselworts. Theoretisch sollten also Ihre verschiedenen Datumsformate kein Problem darstellen. Ich habe diese Theorie jedoch nicht getestet.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X