NerdkramsPersönlichesProjekte
In eige­ner Sache: Mein Upgrade von Mer­curi­al auf SVN und Darcs

(Vor­be­mer­kung: Schon wie­der Com­pu­ter­kram. Ein­mal geht noch!)

Wer mei­ne Pro­gram­mier­pro­jek­te auf­merk­sam zur Kennt­nis genom­men hat, der hat sicher­lich bereits bemerkt, dass ich mit Git, dem der­zei­ti­gen De-fac­to-Stan­dard­pro­gramm zum Onlin­ever­wal­ten von Datei­ver­sio­nen (gemäß POSIX ist das jedoch SCCS), nicht viel anfan­gen kann.

Ich bin recht spät in die Welt der Ver­si­ons­kon­troll­sy­ste­me – im Fol­gen­den zwecks Les­bar­keit VCS genannt – vor­ge­sto­ßen. Mei­ne ersten so ver­wal­te­ten Pro­jek­te ver­öf­fent­lich­te ich auf SourceF­or­ge, es kam Sub­ver­si­on (SVN) als VCS zum Ein­satz. Das war sehr lan­ge aus­rei­chend, SourceF­or­ge zeig­te jedoch irgend­wann sei­ne Schwä­chen in Bezug auf die Sta­bi­li­tät der Ser­ver und die Bedien­bar­keit der Benut­zer­ober­flä­che, über­dies ging es nicht immer acht­sam mit ihm anver­trau­ten Pro­jek­ten um.

Lei­der fiel mit SourceF­or­ge auch einer der bei­den ein­zi­gen ver­nünf­ti­gen SVN-Hosting­an­bie­ter weg. Der ande­re – Sav­an­nah – schien und scheint sehr restrik­ti­ve Regeln zu haben, wel­che Lizen­zen man dort nut­zen kann. Das fin­de ich nicht gut. Ich war also wie­der offen für ein neu­es System und son­dier­te den Markt. Ich teste­te ver­schie­de­ne Pro­gram­me auf ihre Zuver­läs­sig­keit und Bedien­bar­keit, dar­un­ter Git, Mer­curi­al und Darcs. Wäh­rend ich Darcs inzwi­schen gern und über­zeugt für pri­va­te Pro­jek­te ein­set­ze und Mer­curi­al die Rol­le als All­tags-VCS über­nahm, fiel Git mir vor allem dadurch auf, dass andau­ernd irgend­wel­che Kon­flik­te gelöst wer­den woll­ten und ich dafür öfter git reset –hard HEAD nut­zen muss­te als ich es gern gehabt hät­te. Dass ich mit­un­ter trotz­dem die­je­ni­gen Pro­jek­te, deren Zukunft mir völ­lig egal ist, zur Belu­sti­gung mög­lichst vie­ler Men­schen in das open-source-feind­li­che, sexi­sti­sche und ras­si­sti­sche Git­Hub kip­pe, sei dem nicht als Wider­spruch ent­ge­gen­ge­stellt.

Bit­bucket, die­je­ni­ge Platt­form, die Git­Hub bereits vor Jah­ren den gro­ßen, inzwi­schen immer­hin ein­ge­hol­ten Vor­teil vor­aus hat­te, dass pri­va­te Repo­si­to­rys, also sol­che, die nicht öffent­lich sicht­bar sind, dort kein Geld koste­ten, gefiel mir als Mer­curi­al­ser­ver­an­bie­ter seit­dem ganz gut. Bis heu­te.

Heu­te erhielt ich einen Hin­weis, dass Atlas­si­an, das skru­pel­lo­se Unter­neh­men hin­ter Pro­duk­ten wie Jira und eben auch Bit­bucket, im kom­men­den Jahr die Unter­stüt­zung für Mer­curi­al ein­stel­len wird. Es wer­de nur von weni­gen Men­schen benutzt, so wird im Wesent­li­chen argu­men­tiert, und sei daher nicht mehr wich­tig genug. Dass die­je­ni­gen, die absicht­lich Mer­curi­al ein­set­zen, sich dabei wahr­schein­lich etwas gedacht haben, scheint irrele­vant zu sein. Man möge doch bit­te auf Git migrie­ren, wird dort ver­laut­bart. Mei­nen herz­li­chen Dank auch.

Damit blei­ben als Alter­na­ti­ven für einen Wei­ter­be­trieb mei­ner Mer­curi­al­pro­jek­te eigent­lich nur SourceF­or­ge und Sav­an­nah übrig. Bei­de sind, das habe ich eben noch mal über­prüft, auf­grund der völ­lig unüber­sicht­li­chen Pro­jekt­sei­ten lei­der noch unbrauch­bar. Ein Wech­sel zu Darcs­hub ist nicht für jedes mei­ner Pro­jek­te sinn­voll und über­dies poten­zi­ell gefähr­lich: Mei­nes Wis­sens steht wie auch hin­ter Source­hut, das ich aber im Auge behal­ten wer­de, nur eine Per­son hin­ter dem Pro­jekt, die Vor­gän­ger­sei­ten wur­den längst abge­schal­tet – die Zukunft des Por­tals ist also kei­nes­wegs gesi­chert. Was wer­de ich also mit den grö­ße­ren Pro­jek­ten machen?

Die Ant­wort über­rascht mich selbst. Zufäl­lig las ich bei der hasti­gen Recher­che, dass Git­Hub trotz sei­nes Namens auch eine SVN-Brücke anbie­tet. Die­se hat­te ich vor­hin aus­pro­biert und sie scheint zu funk­tio­nie­ren. Zurück zu den Wur­zeln also: Sobald Bit­bucket kei­ne Lust mehr hat, von mir benutzt zu wer­den, wer­den all mei­ne bestehen­den Pro­jek­te auf Darcs (klei­ne­re Pro­jek­te) und SVN (grö­ße­re Pro­jek­te) migriert. Sol­len die doch in ihrer Mehr­heit schwim­men!

Mal gucken, wer den län­ge­ren Atem haben wird.


Nach­trag vom 22. August 2019: Einen Teil mei­ner Pro­jek­te – erst mal nur eines – habe ich, wie ange­kün­digt, bereits auf Darcs­hub umge­zo­gen und bin erwar­tungs­ge­mäß zufrie­den. In den Kom­men­ta­ren hier­un­ter hat sich wäh­rend­des­sen her­aus­ge­stellt, dass es durch­aus noch ver­nünf­ti­ge Alter­na­ti­ven zu SVN über Git­Hub gibt, dar­un­ter Fos­sil, das ich völ­lig ver­ges­sen hat­te. Ich ver­su­che es viel­leicht noch mal damit.

Senfecke:

  1. auf SVN? Ich fin­de git allein des­we­gen bes­ser, weil ich, um einen Com­mit zu machen, nicht online sein muss.

    Nutzt du kei­ne Bran­ches in SVN? Gera­de bei grö­ße­ren Pro­jek­ten stört doch dann eigent­lich, dass hun­der­te Datei dupli­ziert wer­den. Und wenn man nicht nur trunk als Check­out hat, lädt der die gan­zen alten Bran­ches und unzäh­li­ge Datei­en mit.

    Hät­te man nicht war­ten kön­nen?! Jeho­va! Jeho­va!

    • Ja, habe ich mir inzwi­schen mehr­mals ange­guckt. „Es ist bes­ser als Git“ ist ja erst mal eine schö­ne Aus­sa­ge, denn das gilt unter bestimm­ten Vor­aus­set­zun­gen sogar für CVS. Dass der Ent­wick­ler von Fos­sil und SQLi­te sowohl Fos­sil als auch SQLi­te bes­ser fin­det als die Kon­kur­renz, sagt noch nicht viel aus. ;)

      Ich habe auf einem mei­ner Ser­ver test­wei­se auch Fos­sil lau­fen, aber ich fin­de es furcht­bar umständ­lich zu admi­ni­strie­ren, sobald man mehr als ein Repo­si­to­ry hat. In SVN muss man dafür ja bloß das Ver­zeich­nis wech­seln. Aber noch habe ich Zeit, mich zu ent­schei­den. Fos­sil hät­te den Vor­teil, dass ein Back­up der Repo­si­to­rys sehr ein­fach wäre. Noch ein Nach­teil: Es wird noch unwahr­schein­li­cher, dass ande­re Men­schen was zu mei­nen Pro­jek­ten bei­tra­gen. Ich fin­de die­sen Basar­stil schon ganz gut für man­che Pro­jek­te. Aber viel­leicht habe ich es ein­fach noch nicht rich­tig ver­stan­den.

Comments are closed.

https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_smilenew.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_biggrin2.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_sadnew.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_eek.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_shocked.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_confusednew.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_coolnew.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_lol.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_madnew.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_aufsmaul.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_seb_zunge.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_blushnew.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_frown.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_twistedevil1.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_twistedevil2.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/icon_mad.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_rolleyesnew.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_wink2.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_idea2.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_arrow2.gif 
mehr …
 

Erlaubte Tags:
<strong> <em> <pre> <code> <a href="" title=""> <img src="" title="" alt=""> <blockquote> <q> <b> <i> <del> <tt> <span style=""> <strike>

Datenschutzhinweis: Deine IP-Adresse wird nicht gespeichert. Details findest du hier.