Hallo Liste,
gegeben ist folgender Fall, von einer ursprünglichen Version eines Projektes spalten sich zwei verschiedene Varianten A und B ab, die sich nur in ein paar Dateien unterscheiden.
_______A / ------------HEAD _______B
Nun wäre es schön, wenn die Dateien, die zwischen A und HEAD und B und HEAD identisch sind ohne großes Mergen automatisch aktualisiert werden könnten, wenn diese in HEAD geändert wurden. Läßt sich sowas mit CVS bewerkstelligen? Wenn man A und B von HEAD branched, dann müßte man ja immer die Änderungen in HEAD manuell in A und B mergen.
Tschau,
andre
On Wed, Feb 16, 2005 at 05:16:21PM +0100, Andre Schulze wrote:
Hallo Liste,
Hi Andre,
Hmm, du kannst halt ein Script schreiben das vor dem commit nach HEAD ein diff zwischen HEAD und A/B macht, und wenn es da keine Unterschiede gibt, das neue Patch gleich mit nach A und B schreibt.
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.
Ciao, Tobias
Am Mi, 16. Feb 2005 07:15:30 +0100, schrieb Tobias Koenig:
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.
Wenn man dann Änderungen an einer gemeinsamen Datei gemacht hat, muss man sich dann was einfallen lassen. Ich hatte in meinem Makefile folgende Zeile mit drin stehen:
tags: cvs tag -r HEAD -b -F -B russisch \ {tsdiplom,situationstheorie,algebra,tsabk,utf8ienc,xtheorem,pdfcprot,xparse,template}.{dtx,ins} ldcsetup.dtx\ Makefile {hyperref,natbib}.cfg {kloetzer,liniendiagramm,logo-mggru}.mp \ kloetzer.tex logo-tubaf.ps tsdvips.def Trennungen.tex pplmnT2A.cpa
Hallo an die zwei Tobias,
Am Thu den 17 Feb 2005 um 01:21:42AM +0100 schrieb Tobias Schlemmer:
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:
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
Hi!
Andre Schulze [2005-02-16 17:16 +0100]:
Ohne groß einen Flamewar anfangen zu wollen: Das Nonplusultra in der Verwaltung verschiedener Zweige ist wohl immer noch GNU Arch, besonders in der Inkarnation von "bazaar":
Wenn man das einmal ne Weile nutzt, ist CVS irgendwie wie Steine aufeinanderklopfen...
Wenn daran Interesse besteht, lasse ich mich dazu auch gern mal etwas ausführlicher aus. :-)
Schönen Tag noch!
Martin
Hola,
Am Donnerstag, 17. Februar 2005 10:56 schrieb Martin Pitt:
(x) dafür Konrad wollte doch mal was über svn erzählen. Da wäre ein Versionsverwaltungsabend (oder auch 2) angebracht. Aktuell gibt es bei der Konvertierung des KDE-Repos auf svn ein paar Probleme... ob tla besser abschneiden würde, könnte ja ein Thema des Vortrages sein ;)
Josef
lug-dd@mailman.schlittermann.de