[linux-l] Svannah, sf und berlios (was: sf und berlios)

Mike Dornberger Mike.Dornberger at gmx.de
Do Apr 6 09:57:22 CEST 2006


Hi,

On Wed, Apr 05, 2006 at 09:28:40PM +0200, Steffen Dettmer wrote:
> * Volker Grabsch wrote on Tue, Apr 04, 2006 at 00:26 +0200:
> > Für jeden "cvs diff" etc. nen Netzwerkzugriff zu benötigen, macht auf
> > einem langsamen Rechner mit ISDN-Internetanbindung einfach keinen Spaß.
> > Aber nicht nur an dieser Stelle ist Subversion dem guten alten CVS
> > haushoch überlegen, und das spiegelt sich auch in der täglichen Arbeit
> > damit wider.
> 
> Das kann ein diff ohne Netzwerkzugriff? Woher weiss es denn, dass
> niemand eingecheckt hat? mmm...

svn diff [pfad/in/working_copy]

zeigt einen diff zwischen BASE und dem, was im wc (working copy) geändert
wurde. BASE ist hierbei die Version, auf dem das File in der wc basiert
(aka. zuletzt ausgecheckt wurde).

svn diff ohne Argumente zeigt die Änderungen im aktuellen Verzeichnis +
Unterverzeichnisse (ja, geht auch nicht-rekursiv).

Das funktioniert deshalb ohne (Netzwerk-)Zugriff auf das Repository, da
Subversion immer eine Kopie der Datei in ihrer BASE-Version mit auf der
Platte hat. (Über Vor- und Nachteile davon kann man sicherlich streiten.)

Natürlich kann man auch Verschiedene Versionen vergleichen, aber das
erfordert dann (Netzwerk-)Zugriff auf das Repository.

Siehe auch http://svnbook.red-bean.com/en/1.1/re09.html im offiziellen Buch
zu Subversion. (Hab jetzt nicht nachgesehen, ob es das auch auf deutsch
gibt.)

Wenn du eine (oder mehrere) Dateien einchecken willst, prüft Subversion erst,
ob sich die Datei im Repository geändert hat. Trifft dies für mindestens
eine der einzucheckenden zu, bricht es das commit mit einer entsprechenden
Meldung ab und man muß mittels svn update erstmal die Änderungen übernehmen.

Was Subversion tut, wenn es dabei Konflikte gibt, ist sehr schön im o. g.
Buch unter "Resolve Conflicts (Merging Others' Changes)"
http://svnbook.red-bean.com/en/1.1/ch03s05.html#svn-ch-3-sect-5.4
erklärt. (Direkt darüber auf dieser Seite gibt es auch noch eine Box: "Look
Ma! No Network!" Darin ist z. B. zu lesen, daß Änderungen grundsätzlich als
Delta zum Repository übertragen werden.)

> Ich muss gestehen, ich weiss nicht so Recht, was ich vom Subversion
> halten soll... Hab mich da noch nicht informieren können.

Nunja, wenn du mal zwei, drei Stunden erübrigst, empfehle ich dir, das o. g.
Buch mal zu lesen oder zu überfliegen. Nunja, es behandelt jedenfalls
Subversion in der Version 1.1. Wie ich letztens bei einem cygwin-Update
gesehen habe, sind sie wohl mittlerweile bei 1.3, aber das ist (noch) nicht
in Debian stable, von daher habe ich mir noch nicht angesehen, was sich
geändert hat.

Gruß,
 Mike




Mehr Informationen über die Mailingliste linux-l