cvsup ist tot, es lebe .... - alternativen?

J

joneum

Guest
cvsup ist ja gestorben. Will man von 9.1 auf 9.2, braucht man alternativen.

Wer hat mit was gute oder schlechte erfahrungen gemacht?
 
Ich verwende einfach devel/subversion. Habe mir aber damit auch schon mal erfolgreich selbst in den Fuß geschossen. :ugly:
Hin und wieder frickel ich schon ganz gerne mal etwas. Wenn man das innerhalb der Arbeitskopie, also innerhalb der Verzeichnisse macht, die von subversion aktuallsiert werden, dann fasst subversion die veränderten Dateien nicht mehr an.
Hier habe ich das geschafft:
http://www.bsdforen.de/threads/freebsd-9-stable-baut-keine-kernel-module-aus-den-ports.28671/
Da hatte ich vor langer zeit mal den grafischen bootloader von Olliver Fromme ausprobieren wollen, hatte es aber schon längst vergessen, dass noch geänderte Dateien unter /usr/src liegen geblieben sind. In dem Fall betraf es das /usr/src/share/mk/Makefile. Es hat noch Tage gebraucht, bis ich mich dunkel daran erinnert habe, dass ich diesen bootloader mal ausprobiert hatte, und das wohl die Ursache war.
:huth:
Unten im Thread steht, wie ich da wieder raus gekommen bin:
Code:
svn up --force --accept tf /usr/src
Wenn man geplant Veränderungen vornimmt, etwa eigene Patches verwendet, kann man auch gezielt Veränderungen rückgängig machen. Ich patche ja oft um einen aktuelleren nvidia-driver in mein Ports System hinein zu frickeln, das mache ich dann vor dem svn up so wieder rückgängig:
Code:
svn revert -R /usr/ports/x11/nvidia-*
 
nachdem ich nun länger mir kein System mehr mit freebsd-update zerschossen hab, kann ich es von einem definierten Stand (ie. kein STABLE) durchaus empfehlen ;).

Ansonsten wird subversion vom FreeBSD Team selber empfohlen (oder halt mit Brücke eine andere Versionskontrollsoftware a la git, mercurial, etc.)
 
Ich benutze ebenfalls subversion..wobei ich mir immer noch nicht hundertprozentig sicher bin, ob ich das ganze Prozedere so richtig verstanden habe :) cvsup war halt schön simpel, mit SVN ist doch einiges mehr möglich...aber wird schon, bisher läuft die Kiste noch sauber mit 9.2, kann es kaum erwarten welche Überraschungen das Update auf 10.0 mit sich bringen wird :huth:
 
Hab in /etc/make.conf

Code:
SVN_UPDATE=  yes

reingepackt und habs quasi genauso, wie zu csup - Zeiten.

Code:
# cd /usr/src; make update
 
Aber FreeBSD 10.0 werden auch Git- und Mercurial-Spiegel voll unterstützt. D.h. sie werfen ihre Revisionsangabe in die "uname"-Ausgabe. Wer also mit SVN nicht glücklich ist, wird es vielleicht dort. Der offizielle Git-Mirror findet sich hier: https://github.com/FreeBSD Einen Mercurial-Mirror gibt es meines Wissens nach nicht (vielleicht findet sich da jemand freiwillig?), aber immerhin eine Anleitung um einen zu bauen: https://wiki.freebsd.org/LocalMercurial
 
Kann man jemand benchmarken welches tool am schnellsten die Sourcen aktualisiert? Solange man selber keine Geraffel mit Patchen macht, kann einem das Tool ja egal sein.
 
Acha ja, und hat man für das PKGSITE und PORTS out-of-sync Problem inzwischen eine Lösung gefunden?

Warum bietet man nicht einfach ein Paket an, das PORTREV heißt und einfach eine Datei mit der Revision der Ports zum Zeitpunkt des Erstellens der Pakete in /usr/local/etc droppt. Und wenn man dann make update in /usr/ports macht, guckt der ob die Datei existiert, und wenn ja aktualisiert nur auf die Version, statt auf HEAD.
 
Kann man jemand benchmarken welches tool am schnellsten die Sourcen aktualisiert? Solange man selber keine Geraffel mit Patchen macht, kann einem das Tool ja egal sein.

Weils mich auch gerade interesssiert hat...

git: 4:20min
Code:
Klone nach 'git'...
remote: Finding bitmap roots...
remote: Counting objects: 2571708, done.
remote: Compressing objects: 100% (838317/838317), done.
remote: Total 2571708 (delta 1704001), reused 2568670 (delta 1701017)
Empfange Objekte: 100% (2571708/2571708), 952.08 MiB | 8.40 MiB/s, done.
Löse Unterschiede auf: 100% (1704001/1704001), done.
Prüfe Konnektivität... Fertig
Checking out files: 100% (57402/57402), done.
git clone https://github.com/freebsd/freebsd git  160.61s user 20.29s system 69% cpu 4:20.22 total

svn: 1:24min
Code:
Ausgecheckt, Revision 256624.
svn checkout https://svn0.eu.freebsd.org/base/release/9.2.0/ svn  36.16s user 34.10s system 83% cpu 1:24.06 total

du -sh:
Code:
1.6G    svn
1.9G    git

Gruss
 
Es kommt ja auch darauf an, wie schnell spätere Aktualisierungen sind. Ein "git pull" dürfte z.B. deutlich schneller als ein "svn up" sein.
 
Ich habe beides komplett von 0 ausgecheckt in jeweils ein leeres Verzeichnis und per "https". Ob das jetzt repräsentativ und immer so ist, kann ich nicht sagen. SVN ist zumindest bei mir schneller. Verglichen mit "cvs" sind aber beide ein Traum.
 
Beim initialen checkout ist svn vermutlich nur deshalb schneller, weil es eben auch nur genau eine Revision auscheckt, während Git bei einem clone sich das komplette Repo incl. kompletter History zieht.
 
Zurück
Oben