Hallo an die zwei Tobias,
Am Thu den 17 Feb 2005 um 01:21:42AM +0100 schrieb Tobias Schlemmer:
Am Mi, 16. Feb 2005 07:15:30 +0100, schrieb Tobias Koenig:
Läßt sich sowas mit CVS bewerkstelligen?
CVS bietet ja einige hooks an, da lässt sich sicher was machen... hab von der administrativen Seite von CVS allerdings weniger Ahnung.
Du meinst sicher, in CVSROOT/loginfo ein Skript einzutragen, welches anhand der neuen und alten Revisionsnummer ein Diff macht und schaut, ob sich das konfliktfrei anwenden läßt. Ist eine Option und hat den Vorteil, daß es für die Nutzer transparent wäre. Habe ich aber noch nicht untersucht. Was macht man aber im Falle eines Konfliktes? Hier muß der Nutzer informiert werden, geht sicher auch irgendwie... .
Tobias Schlemmer:
global weiß ich nicht wie, aber bei meiner Diplomarbeit hab ich einfach die Latex-Packete und Klassen aus HEAD in allen Branches verwendet. Sieh dir mal CVS/Entries an. Dort steht das Tag für jede Datei einzeln drin.
Das ist mir auch schon eingefallen, hatte da aber einen Denkfehler drin ;-) Meine Befürchtung war, daß beim Mischen von verschiedenen Branches automagisch Dateien des Branches durch HEAD überschrieben werden - ist aber nicht so.
Probiert habe ich jetzt folgendes: - HEAD angelegt - in einer zweiten Arbeitskopie, wo später branch A vorliegen soll noch mal HEAD ausgecheckt - selektiv einzelne Dateien von HEAD gebranched (was für ein Deutsch :-) und die Arbeitskopie auf den branch geupdated ( " ) und dabei -f benutzt (was die aktuellste Version einer Datei benutzt, wenn sie nicht im gewünschten Branch vorhanden ist) -> somit habe ich die Dateien, die sich unterscheiden im Branch und die Arbeitskopie ist nun ein Mix aus HEAD und Branch
- Dateien, die nicht aus HEAD in den Branch übernommen werden sollen, werden abgespalten (branched) und im Branch gelöscht
Soviel erst mal für's Archiv :-)
Tschau und Danke,
andre