FreeBSD Ports migrieren am 14. Juli auf Subversion

Yamagi

Possessed With Psi Powers
Teammitglied
Nur eine kurze Mitteilung: Die Port migrieren am 14. Juli von CVS auf SVN:
Code:
The FreeBSD ports tree will migrate from CVS to Subversion soon. The anticipated date for the migration is July 14th. This will have no impact for ports tree users as there will be a SVN to CVS exporter.
Please note that cvsup will still work after the migration. Nevertheless c(v)sup is pretty dated so you may want to see if portsnap(8) will fit your needs.
Beat and Thomas
 on behalf of portmgr@
 
Und genau liegt doch einer großenb Vorteile von SVN. Man kann es in praktisch jedes VCS auschecken. Egal ob bzr, fossil, git, hg und die Eigenkreation, eine Brücke zu SVN gibt es (fast) immer. Wenn man hingegen im Upstream ein hg hat, zwingt man alle Downstream-Nutzer ebenfalls hg zu verwenden. Ob sie wollen oder nicht. :)
 
Ich benutze SVN sehr gerne. Kommt halt auf den Einsatzzweck an. The right tool for the job!
Mercurial ist für andere Anforderungen besser.
 
Mercurial und git nehmen sich so weit ich weiß nichts. Subversion ist im gegensatz zu den anderen beiden Tools ein Zentrales cvs. Ich persönlich konnte mit SVN nie viel anfangen und bin zu doof es richtig zu benutzen, allerdings ist git für mich immer das richtige Tool. Einige Vorteile an git und Mercurial sind, dass die Repos kleiner sind als die von SVN (getestet mit den FreeBSD Sourcen) und dass die Aktionen wie checkout und commit schneller sind, was mit an der Netzwerk freuntlicheren übermittlung liegt.

Ich bevorzuge git, aber wenn das FreeBSD Projekt das so entscheidet dann ist mir SVN auch recht.

Gruß

ath0
 
also, ich benutze auf der arbeit (mehr oder weniger gezwungenermassen) svn.
und ich muss sagen dass ich es fuer das bessere cvs halte.
 
also, ich benutze auf der arbeit (mehr oder weniger gezwungenermassen) svn.
und ich muss sagen dass ich es fuer das bessere cvs halte.
Der Slogan von SVN war doch auch "CVS done right" ;)

CVS sollte auch wirklich niemand mehr benutzen muessen. Ich halte das fuer eine sehr gute Entscheidung.
 
ich verstehe auch nicht so recht, wieso FreeBSD auf SVN setzt. Im Linux-Umfeld ist man weitaus innovativer. Hier verwechselt das BSD-Klientel "konservativ" mit "rückständig". Die Linux-Nutzer - ebenso große Unternehmen mit einer breiten Altlastenbasis, konnten ja auch auf GIT umsrüsten.

Ich nuzte SVN deshalb, weil ich synchron mit FreeBSD von CVS auf SVN umgestiegen bin. Es hätte auch anders sein können. Da ich lediglich für meine wiss. Arbeit Sofware entwickele, sind mir die feinen Unterschiede der Systeme nicht bekannt. ich weiß allerdings, daß mir SVN sehr oft für Kopfzerbrechen bezüglich inkosistenter Repositorien sorgt. Meine GIT-nutzenden Kollegen lächeln darüber nur.

Dennoch, ich finde es lobenswert, daß auch die Ports nun auf ein SVN umziehen.

Das erhebt allerdings die Frage, ob es denn dann auch die notwendigen Werkzeuge "an Bord" FreeBSDs geben wird, um ohne den devel/subversion Port an die Ports zu kommen.

Um die Quellen des Kernsystems auszuchecken, muß man nämlich Subversion installieren, wenn man einen versionierten Quellbaum via SVN in /usr/src haben will. Das ging anfangs auch nicht glatt und bedurfte einiger PRs, um gewisse Schlampigkeiten aus dem Weg zu räumen ...
 
Und genau liegt doch einer großenb Vorteile von SVN. Man kann es in praktisch jedes VCS auschecken. Egal ob bzr, fossil, git, hg und die Eigenkreation, eine Brücke zu SVN gibt es (fast) immer. Wenn man hingegen im Upstream ein hg hat, zwingt man alle Downstream-Nutzer ebenfalls hg zu verwenden. Ob sie wollen oder nicht. :)
Aber SVN hat nicht das Feature-Set eines DVCS. Spätestens bei komplexen Merges, die mit einem DVCS ziemlich problemlos gehen, hat man mit SVN immer noch den gleichen Ärger wie mit CVS.
 
Ich habe lange überlegt, ob ich hier überhaupt noch etwas schreiben soll. VCS sind ein religiöses Thema und neigen daher zu Streit. Aber nun mache ich es... :) Für das FreeBSD-Projekt sieht es halt (von außen gesehen) so aus, dass man eines der letzten großen Projekte ist, die noch CVS nutzen. Und das Ports-Repo dürfte eines der größten CVS-Repos überhaupt sein. Das man mit der Migration solange gewartet hat, bedeutet ja im Prinzip, dass man damit sehr lange zufrieden war. Die Hauptprobleme von CVS sind technischer Natur. Es skaliert vergleichsweise schlecht, atomare Commits sind etwas, was man im jahr 2012 haben will und Repocopys sind irgendwie so 90er. Wieso also nun das Rad neu erfinden? SVN ist genau für diesen Fall gedacht, es soll ein besseres CVS sein. Nicht mehr und nicht weniger. Vor allem erlaubt SVN das einfache Betreiben eines CVS-Exporters, das CVS-Repo kann also bestehen bleiben und seine Downstream-Nutzer (vorerst) weiter zu versorgen. Den großen Sprung wie git oder hg zu machen erscheint natürlich erst einmal verlockend, aber man muss sich auch vor Augen, was es bedeutet. Hunderte Committer müssen komplett umlernen (und einige waren schon über den Sprung auf SVN nicht glücklich, wollten CVS behalten) anstatt sich nur umgewöhnen. Etliche Scripte müsste man neuschreiben. Man müsste Workflows und Arbeitsweisen anpassen. git, hg und co mögen ihre Vorteile haben, aber ein Umstieg ist halt auch recht invasiv. Vielleicht ist man dafür in einigen Jahren bereit, aber im Moment denke ich, dass man mit SVN die beste Wahl getroffen hat.
 
Wo liegen denn die Unterschiede Eurer Meinung nach
zwischen Subversion, Mecurial und Git?

Zumindest git betreffend (von Mercurial habe ich keine Ahnung):

* einfaches Erstellen von Branches (-> nicht-lineare Entwicklung)
* deutlich besseres Mergen
* es ist von vornherein dezentral ausgelegt
 
Mal so nebenbei warum Branching und Merging so wichtig sind. Denkt mal an den Aufwand eine neue Xorg Version in die Ports einzupflegen.
 
Code:
svn ci
svn up
svn cleanup
svn merge ^/branches/newxorg trunk/

Konfliktiert (oder konfliktet?) an den gleichen Stellen, wo auch git es würde. Einzig Tree-Conflicts gibt es prinzipbedingt unter git nicht. Vielleicht bin ich zu blöd den Unterschied zu erkennen, aber ich habe auch bei sehr komplexen Merges zwischen mehreren, völlig divergierten Branches keinen nennenswerten Unterschied zwischen git und einem modernen(!) Subversion mit Mergetracking erkennen können. Git mag beim Mergen Vorteile haben, wenn man einen seiner alternativen Merge-Algos sinnvoll nutzen kann oder man mit Kollegen gestraft ist, die zu blöd für Mergetracking sind. Sonst sehe ich da aber keine. Die Vorteile von git liegen für mich eher darin, dass es auch ohne SSD sehr schnell ist und das man erstmal lokal basteln und Commits sortieren sowie ändern kann, bevor man den Kram an den Server pusht. Auch lokale Branches sind definitiv ein Vorteil. Dazu kommen natürlich die diversen Komfortfunktionen, wobei SVN mit 1.7 zumindest mit "svn patch" mal das größte, fehlende Teil nachgerüstet hat. Sowas wie "git stash" und "git bisect" fehlen aber noch immer, auch wenn man es sich selbst zusammenscripten kann... Das größte Problem an git ist in meinen Augen, dass es alles andere als leicht verständlich ist. Die Grundlagen ja, aber komplexere Workflows nicht mehr. Daran ist auch das völlig überladene Interface mit seinen 1000 Unterkommandos mit je 10.000 unterschiedlichen, zum Teil inkonsistent belegten Optionen schuld. Da mal mit dem Besen durchzugehen, wäre sicher sinnvoll, würde aber Ärger mit den Nutzern bedeuten. Am Ende ist die Welt eben nicht schwarz-weiß, sondern hat viele Farben. So gesehen ist NetBSDs geplantes "AnyVCS" schon eine gute Sache. Einfach parallel alles anbieten und dazwischen überbrücken. Aber sicher technisch nur schwer umsetzbar. Oder github.com, was inzwischen ja auch vollständig per SVN zu beidenen ist. FreeBSD bietet übrigens für die Base einen offiziellen git-Mirror: http://wiki.freebsd.org/GitWorkflow
 
So, die Migration war erfolgreich:
Code:
From: Thomas Abthorpe <portmgr-secretary@FreeBSD.org>
To: ports@FreeBSD.org
Cc: 
Subject: [HEADS UP] Ports tree has been migrated to Subversion
Date: Mon, 16 Jul 2012 04:38:13 +0000
Sender: owner-freebsd-ports@freebsd.org
User-Agent: Mutt/1.4.2.3i

The migration to Subversion is done and the SVN->CVS exporter is
running.

Before committing please read the Ports Subversion Primer,
http://wiki.freebsd.org/PortsSubversionPrimer.  Please feel to add
missing parts of fix it if something is wrong.

For those who like to mirror the repository, the svn mirror seed will be
available in /pub/FreeBSD/development/subversion/ on a mirror near you.
First places it will likely be are
http://freebsd.isc.org/pub/FreeBSD/development/subversion/ and
http://ftp.dk.freebsd.org/pub/FreeBSD/development/subversion/.  Be
aware that the uncompressed repository is about 14GB.

Many thanks to simon@ for all the work he did this weekend to make the
switch happen!

http://blogs.freebsdish.org/portmgr/2012/07/16/ports-tree-has-been-migrated-to-subversion/
 
Zurück
Oben