[Umfrage] künftige Versionsverwaltung für fhem

Begonnen von betateilchen, 17 Februar 2014, 20:55:42

Vorheriges Thema - Nächstes Thema

rudolfkoenig

Das waere der zweite Umzug (zuletzt vom berlios nach sourceforge), und ich habe behalten, dass es ein Haufen Arbeit ist (jedenfalls was mich betrifft), mit wenig Netto-Gewinn.

- man muss einen besseren Server als Sourceforge besorgen. Wobei besser subjektiv ist: ich wuerde einen Standort in Deutschland bevorzugen, und ein Rechenzentrum, damit man nicht auf die Anwesenheit von einem Privatperson beim Hardwareproblemen angewiesen ist.
- auf dem Rechner muss eine Benutzerverwaltung fuer diesen Zweck installiert sein, also Userpflege+GIT aber kein echter Zugang.
- die Entwickler muessen sich alle neu anmelden, d.h. man muss 40-50 Leute neu berechtigen.
- Quellen ruebertragen (ich will die alten Versionen nicht verlieren)
- fhemupdate + meine lokale Sicherung der Quellen anpassen
- mich in Git + Git-Hooks einarbeiten, Hooks erstellen.
- fhem-doku anpassen.
- FHEM@sourceforge zumachen.
- alle Entwickler muessen die Quellen neu auschecken, und darauf achten, dass lokale Aenderungen nicht verloren gehen.
- Uebrigbleiben etliche tote Links im fhemwiki/Blogs/etc.

Auf der Haben Seite sollte eine stabilere Verbindung stehen, d.h. man kann dann einchecken, wenn man will.

-> Im Moment wuerde ich das Problem eher aussitzen, es sei denn sourceforge kriegt es nicht hin.

betateilchen

Zumindest die ersten vier Punkte Deiner Liste habe ich bereits länger umgesetzt :) Bei mir läuft ein git repository, in dem ich auch alle Benutzer, die hier in "SVN Schreibberechtigung" aufgelistet werden, auch als git-User mit Certificate-Authentication vorhanden sind.

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Wuppi68

wenn man wechselt, kann man dann nicht einen smoothen Übergang machen?

Neues System spiegelt erst einmal die SourceForge Version sodass es mit beiden funktioniert? Und danach SF auf ReadOnly umstellen und irgendwann abschalten?

Was ist den an Traffic von uns auf dem SF Server?
Jetzt auf nem I3 und primär Homematic - kein Support für cfg Editierer

Support heißt nicht wenn die Frau zu Ihrem Mann sagt: Geh mal bitte zum Frauenarzt, ich habe Bauchschmerzen

betateilchen

Zitat von: rudolfkoenig am 20 Februar 2015, 20:15:39
- die Entwickler muessen sich alle neu anmelden, d.h. man muss 40-50 Leute neu berechtigen.

Die Entwickler müssen sich nicht neu anmelden, sie bekommen lediglich neue Zugangsdaten, das lässt sich weitgehend automatisieren (verbunden mit einem gleichzeitigen Check, ob die registrierten email-Adressen noch aktuell sind)

Ein eben ausgeführter Migrationstest hat ergeben, dass  das nicht 40-50 Personen wären, sondern 109 - nämlich alle User, die bisher jemals in svn eingecheckt haben. Die müssen auch dem migrierten git bekanntgemacht werden.


Zitat von: Wuppi68 am 21 Februar 2015, 11:11:09
wenn man wechselt, kann man dann nicht einen smoothen Übergang machen?

Eine Migration von svn zu git läuft normalerweise so ab, dass in der Migrationsphase alle Entwickler weiterhin nach svn einchecken und das svn dann nach git als read-only gespiegelt wird. Irgendwann kommt dann der Zeitpunkt des Umschaltens. Ab diesem Moment wird svn gesperrt und git freigegeben, danach wird nur noch in git eingecheckt.

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Zitat von: rudolfkoenig am 20 Februar 2015, 20:15:39
Das waere der zweite Umzug (zuletzt vom berlios nach sourceforge), und ich habe behalten, dass es ein Haufen Arbeit ist (jedenfalls was mich betrifft),

Nirgends steht geschrieben, dass Du einen solchen Umzug alleine stemmen musst. Falls Du eine Migration irgendwann doch ins Auge fassen solltest, melde Dich einfach. Die meisten der von Dir oben beschriebenen Aufgaben sind bereits erledigt und müssen nur noch scharfgeschaltet werden.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

#20
Heute ist meine Testmigration auf einen eigenen Server im Rechenzentrum umgezogen. Wer gerne mal git "fühlen" möchte, kann unter der Adresse git://fhem.betateilchen.de/fhem_ro.git auf das fhem-Repository per git zugreifen.

Achtung: Der Zugriff ist read-only!

Es sollten alle fhem releases seit 4.0 zu finden sein - mehr ist offenbar auch in svn nicht vorhanden. Die Synchronisation zu fhem-SVN sollte mit einer maximalen Verzögerung von fünf Minuten stattfinden.

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Hallo Rudi,

Zitat von: rudolfkoenig am 20 Februar 2015, 20:15:39
- mich in Git + Git-Hooks einarbeiten, Hooks erstellen.

Der pre-receive hook für git, der die commit-Message und die commandref prüft, funktioniert inzwischen auch 8)

Allerdings habe ich dazu noch eine Frage:



      if($l =~ m/^=begin html$suffix$/) {
        $l = <MOD>;    # skip one line, to be able to repeat join+split
        err($fName, "$lang: nonempty line after =begin html.")
          if($l =~ m/^...*$/);
        $skip = 0; $line++;



Das bekomme ich im hook noch nicht abgebildet, weil ich nicht direkt aus der Datei lesen kann, sondern aus dem im commit geschickten content. Also arbeite ich mit foreach() ein Array ab und innerhalb dieser Schleife kann ich natürlich nicht einfach eine weitere Zeile lesen.

Wieso ist das Fehlen der Leerzeile nach =begin_html ein Fehler?


Hast Du noch weitere hooks in SVN im Einsatz? In ./contrib habe ich nichts gefunden - oder ich habs übersehen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rudolfkoenig

Die Leerzeile ist aus historischen Gruenden da: Doku in den Modulen ist erst 3 Jahre alt, davor musste jeder commandref.html modifizieren. Als es absehbar war, dass es so nicht weitergeht, habe ich commandref_split & join gebaut. Da ich unsicher war, ob split/join richtig funktioniert, wollte ich sicherstellen, dass nach split+join die Doku mit dem alten identisch ist. Ich meine mich daran zu erinnern, dass split immer ein Leerzeichen einfuegt, und falls im Input das nicht vorhanden ist, dann meldet ein anschliessend gemachter diff Unterschiede.
Vermutlich kann man die Pruefung entfernen.

Ich habe z.Zt. nur diesen Hook im Einsatz.

betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

#24
Für alle Statistik-Freaks:

https://fhem.betateilchen.de/statistics.html

https://fhem.betateilchen.de/gitstat

(Aktueller Stand, täglich aktualisiert, Auswertungszeitraum ab 01.01.2015)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rudolfkoenig

Ich weiss nicht, ob ich das auch als Statistik bezeichnen wuerde:

ZitatNot Found
The requested URL /statistics.html was not found on this server.
Apache/2.2.22 (Debian) Server at fhem.betateilchen.de Port 443

betateilchen

Wir sind ja schließlich nicht auf einer Berliner Flughafenbaustelle  8) Auf meiner Baustelle hier wird jedenfalls auch am Freitagabend fleißig gearbeitet, damit was fertig wird. So ungefähr sollte das Ergebnis aussehen:

(http://up.picr.de/21129472by.jpg)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rudolfkoenig

Jetzt musst du nur noch erklaeren, wie du die Statistiken berechnet hast.
Ich kaufe es dir naemlich nicht ab, dass Du doppelt so viel an FHEM geaendert hast, wie ich. :)

http://en.wikipedia.org/wiki/Lies,_damned_lies,_and_statistics :
'There are three kinds of lies: lies, damned lies, and statistics.'

betateilchen

Das steht doch in den Spaltenüberschriften? commits, insertions und deletions.

Zitat von: rudolfkoenig am 27 Februar 2015, 23:26:15
Ich kaufe es dir naemlich nicht ab, dass Du doppelt so viel an FHEM geaendert hast, wie ich. :)

Wie ich weiter oben bereits geschrieben hatte, ist der Betrachtungszeitraum der Statistik das laufende Jahr 2015. Und in den vergangenen zwei Monaten habe ich definitiv mehr eingecheckt als Du, denn Jan/Feb war die Geburt von 55_InfoPanel und 98_help - da sind die 3471 Zeilen code durchaus realistisch, das InfoPanel alleine hat aktuell knapp 2000 Zeilen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Markus Bloch

Ich war auch erst verdutzt, aber wenn man vom 01. Januar ausgeht, dann kommt das bei mir schon hin. Hab nur wenige Sachen seit dem eingecheckt.
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)