[linux-l] Versionskontrollen

Steffen Dettmer steffen at dett.de
Mo Jan 29 19:22:11 CET 2007


* Peter Ross wrote on Mon, Jan 29, 2007 at 10:53 +1100:
> On Sun, 28 Jan 2007, Steffen Dettmer wrote:
> 
> > Ja, genau. Bei SVN wird das Rollback natürlich nur für *ein* Repository
> > gemacht, nämlich dass, wo der check-in gerade "aktiv war". 
> 
> Ja. Und fuer eine zentrale fversionskontrollle ist der Normalfall, das
> man _nur ein_ Repository hat. Das ist Design.

Mag sein, dass das in 95% der Fälle so ist. Würde mich sehr sehr
wundern. Obwohl, vermutlich sind 95% der Fälle kleine, einfache
Projekte.

In 95% *meiner* Fälle ist es jedenfalls nicht so. Ist auch nicht
überraschend: Es gibt Repositories auf öffentlichen Server, firmeneigene
(eine Handvoll pro Land :)) und sogar ich persönlich hab eigene
Repositories :-)

Design ist, dass alle Änderungen eines Repositories zentral an einem Ort
sind. Design ist gerade NICHT, dass es nur eines geben dürfte. Da würden
sich SourceForge und Savannah auch schlecht einigen können, wer denn nu
das eine zentrale Repository bereitstellen dürfte/müsste :-)

Wenn man z.B. gnu autoconf benutzt, kann man sich die libs prima
auschecken und über AC_SUBDIRS vom einem einfachen toplevel
configure.in/ac configurieren und bauen lassen (machen wir auch mit
eigenen libs so). 

> Also find ${base_dir} -type f -exec sed -i 's/app1(/app1(0,/g' {} \;
> 
> Danach checke ich das ein, das dauert eine Weile.
> 
> Unter SVN ist das atomar, 

Nein nicht atomar, wie doch schon vor ein, zwei Tagen auf dieser
Mailingliste festgestellt, ist das maximal *pro Repository* atomar. Der
Kernel insbesondere hat meines Wissens nach sogar noch dezentrale, also
ganz anderes Thema. Kann ja auch schlecht atomar sein, weil zwei
Repositories könnten ja in zwei verschiedenen Ländern stehen und immer
irgendwie ungünstig ausfallen (bzw. die links). Da gabs ein Beispiel,
ich glaub von Volker.

> Unter CVS wuerdest Du das "veralterte" File einchecken koennen.
> CVS kennt atomare Operationen nur ueber Files.

Nein, meiner Erfahrung nach lockt CVS standardmässig *mindestens* pro
Verzeichnis. Ich glaub, es lockt pro Modul. Wenn man mit einem Repo
auskommt, kommt man auch mit einem Modul aus (man könnte es ja
"repository" nennen), dann kann solange keiner einchecken. Ist natürlich
nicht atomar, weil CVS im Fehlerfall kein rollback kann, was bei SVN pro
Repository wohl garantiert ist.

oki,

Steffen

-- 
Dieses Schreiben wurde maschinell erstellt,
es trägt daher weder Unterschrift noch Siegel.





Mehr Informationen über die Mailingliste linux-l