Inhaltsverzeichnis
Volkszaehler Repository auf github.com
Volkszähler ist OpenSource und lässt sich über https://github.com/volkszaehler abrufen. Verbesserungsvorschläge und Fehler können über https://github.com/volkszaehler/volkszaehler.org/issues eingereicht werden.
Wir nutzen zur Entwicklung das Versionskontrollsystem git. Hier findest du ein paar der alltäglichen Arbeitsabläufe:
http://www.kernel.org/pub/software/scm/git/docs/everyday.html
Im Zuge der Installation des Volkszählers (installation) wird bereits eine Kopie des sogenannten „Repositories“ aus dem git Versionskontrollsystem bei github.com angelegt.
Diese kann bei Bedarf verändert und aktualisiert werden.
Wichtig im Umgang mit git ist ist das man alle Befehle vom Wurzelverzeichnis des Projekts ausführt.
Wie aktualisiere ich meine Middleware-Installation auf den aktuellen Stand?
cd /var/www # ggf.Datensicherung cp -r volkszaehler.org vz.org.bak # Update cd volkszaehler.org git stash git pull git stash apply # Abhängigkeiten aktualisieren composer update
Die Datei config.dist.yaml kann als Vorlage genutzt werden.
Fehler beim Aufruf von Composer können daran liegen, dass Composer (http://getcomposer.org) an anderer Stelle installiert ist oder anders heißt. Evtl. hilft auch
php composer.phar update
Falls das Frontend nach dem Update einen Javascript Error meldet(„TypeError: vz.entities.updateTable is not a function“) hilft es, im Browser alle vz-Cookies zu löschen und den Cache zu leeren und ggf. am pi den Apache Webserver neu zu starten
sudo systemctl restart apache2
Bei alten Images mit Debian Woody:
sudo /etc/init.d/lighttpd restart
Wie erstelle ich erstmalig eine Kopie des git Repositories?
git clone git://github.com/volkszaehler/volkszaehler.org.git
Ich habe eine Datei geändert, wie bekomme ich wieder die Originalversion?
git checkout ./htdocs/js/options.js
Wie bearbeite ich einen Pull-Request?
git checkout -b <Quelle>-master master git pull https://github.com/<Quelle>/volkszaehler.org.git master git checkout master git merge <Quelle>-master git push origin master
Wie kann ich auf einen bestimmten Versionsstand (commit) wechseln?
git checkout <commit> , z.B.: git checkout e4b1f69548f3e09ff8377d12902b5fcd02e84277
Oh - die aktuelle Version auf github funktioniert bei mir nicht - wie kann ich einen Schritt zurück auf den vorhergehenden Versionsstand (commit) wechseln?
git checkout HEAD~1
Das lässt sich auch mehrfach durchführen - solange, bis man wieder eine funktionierende Version hat; nicht vergessen, beim Testen regelmäßig den Browser-Cache zu leeren und bei Änderungen im Verzeichnis „lib“ den Web-Server neu zu starten.
Wunderbar - und wie komme ich wieder zurück zum aktuellen "Head"? (also: der neusten Version aus git?)
git checkout master
Ein Pull-Request könnte mein lokales Problem lösen, wie kann ich ihn testen?
Dazu brauchen wir die ID des Pull-Request und den Branchname unter dem er erstellt wurde.
git fetch origin pull/ID/head:BRANCHNAME
Im vorliegenden Beispiel sieht das dann so aus:
git pull git fetch origin pull/641/head:fix-caching git checkout fix-caching composer update
Der Pull-Request wurde in den offiziellen Code übernommen, den will ich natürlich auch wieder!
Was kann ich tun, wenn ich einen eigenen Fork habe und diesen mal wieder aktualisieren will?
git checkout -b upstream/master git remote add upstream git://github.com/volkszaehler/volkszaehler.org.git git pull upstream master git checkout master // [my master branch] git merge upstream/master git push origin master
Wie gehe ich vor, wenn ich einen pull request schicken will?
git checkout -b name_fuer_meinen_patch # legt lokal den neuen Branch mit dem Namen "name_fuer_meinen_patch"
Jetzt Änderungen vornehmen
git add <Datei(en)> # fügt die Datei(en) zum Repo hinzu git commit # nimmt die Änderungen in das Repo inkl. Kommentar auf git push --set-upstream origin aggregation-add-quiet-format # schiebt die Änderungen in das Master-Repo
Anschließend Pull-Request stellen