Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
de:entwickler:fehlerkorrekturen_in_mehreren_versionen [2015/01/18 09:58] – [Subversion Schreibrechte] fassede:entwickler:fehlerkorrekturen_in_mehreren_versionen [2015/10/12 10:43] (current) – Korrekturen fasse
Line 1: Line 1:
-====== Sourcecodeverwaltung ======+====== Fehler beheben und neue Funktionen hinzufügen ======
  
 ===== Wo finde ich den Sourcecode ? ===== ===== Wo finde ich den Sourcecode ? =====
Line 5: Line 5:
 Wir entwickeln Admidio mit Hilfe der Versionsverwaltung [[http://de.wikipedia.org/wiki/Git|Git]] auf der Plattform [[http://www.github.com|GitHub]]. Der aktuelle Sourcecode befindet sich im sogenannten **Master** Branch und ist über folgenden Link zu finden: Wir entwickeln Admidio mit Hilfe der Versionsverwaltung [[http://de.wikipedia.org/wiki/Git|Git]] auf der Plattform [[http://www.github.com|GitHub]]. Der aktuelle Sourcecode befindet sich im sogenannten **Master** Branch und ist über folgenden Link zu finden:
   https://github.com/Admidio/admidio   https://github.com/Admidio/admidio
-GitHub bietet außerdem einen Client für [[https://mac.github.com/Mac]] und [[https://windows.github.com/|Windows]] an.+GitHub bietet außerdem einen Client für [[https://mac.github.com/Mac|Mac]] und [[https://windows.github.com/|Windows]] an. Weitere Git Programme gibt es unter [[https://git-scm.com/]].
  
-Der **Master** Branch beinhaltet den Code der letzten Stabilen Version und zusätzlich alle stabilen Erweiterungendie seit dem letzten Release hinzugekommen sind. Falls du Admidio weiterentwickeln willst, empfehlen wir dir diesen Branch als Basis zu nehmenIdealerweise erstellst du dann von diesem Branch in deinem GitHub Account einen [[https://guides.github.com/activities/forking/#fork|Fork]]. Dort kannst du nun deine Erweiterung entwickeln und in den Fork [[https://guides.github.com/activities/forking/#making-changes|commiten]]. Sobald deine Erweiterung fertig ist, kannst du einen [[https://guides.github.com/activities/forking/#making-a-pull-request|Pull Request]] für unseren **Master** Branch erstellen. Diesen werden wir uns dann anschauen und besprechen um ihn dann im Idealfall zu übernehmen.+Bevor du mit der Entwicklung neuer Funktionen anfängstsolltest du Kontakt mit uns aufnehmen bzw. [[https://help.github.com/articles/about-issues/|Issue-Tracker]] nutzen um dort die gewünschte Erweiterung zu beschreiben bzwIdeen für neue Funktionen zu sammeln.
  
-Kurz nachdem wir eine neue Hauptversion veröffentlicht haben, erstellen wir einen sogenannten Branch speziell zu dieser Version. Hier wird praktisch der aktuelle Entwicklungsstand passend zur veröffentlichten Version festgehalten. Auf diesem Entwicklungsstand können wir dann später Korrekturen einspielen unabhängig davon, was parallel im Trunk weiter entwickelt wurde. Der Branch ist bei uns immer passend zu einer Version. Am Namen des Branches kann man erkennen, welche Version hinter welchem Branch steckt. Beispiel für Admidio 2.4 ist der Branchname **v2.4** den du unter folgender URL erreichst:+Hast du deine Idee als [[https://help.github.com/articles/about-issues/|Issue]] formuliert und mit uns abgestimmt, dann findest du im **Master** Branch den aktuellen Code mit allen neuen Funktionen und Änderungen, die seit dem letzten Release hinzugekommen sind. Falls du Admidio weiterentwickeln willst, empfehlen wir dir diesen Branch als Basis zu nehmen. Idealerweise erstellst du dann in deinem GitHub Account einen [[https://guides.github.com/activities/forking/#fork|Fork]] und von diesem Branch einen Feature-Branch. Dort kannst du nun deine Erweiterung entwickeln und in den Fork [[https://guides.github.com/activities/forking/#making-changes|commiten]]. Sobald deine Erweiterung fertig ist, kannst du einen [[https://guides.github.com/activities/forking/#making-a-pull-request|Pull Request]] für unseren **Master** Branch erstellen. Diesen werden wir uns dann anschauen und besprechen um ihn dann im Idealfall zu übernehmen. 
 + 
 +Kurz nachdem wir eine neue Hauptversion veröffentlicht haben, erstellen wir einen sogenannten Branch speziell zu dieser Version. Hier wird praktisch der aktuelle Entwicklungsstand passend zur veröffentlichten Version festgehalten. Auf diesem Entwicklungsstand können wir dann später Korrekturen einspielen unabhängig davon, was parallel im **Master** weiter entwickelt wurde. Der Branch ist bei uns immer passend zu einer Version. Am Namen des Branches kann man erkennen, welche Version hinter welchem Branch steckt. Beispiel für Admidio 2.4 ist der Branchname **v2.4** den du unter folgender URL erreichst:
   https://github.com/Admidio/admidio/tree/v2.4   https://github.com/Admidio/admidio/tree/v2.4
  
Line 17: Line 19:
 Wenn ihr neu bei Admidio seit, dann solltet ihr, wie oben beschrieben, erst einmal einen [[https://guides.github.com/activities/forking/#fork|Fork]] erstellen und neue Funktionen oder Korrekturen dort vornehmen. Diese können wir dann über einen [[https://guides.github.com/activities/forking/#making-a-pull-request|Pull Request]] übernehmen. Habt ihr bereits über diese Methode Code beigetragen und entspricht dieser unseren [[de:entwickler:programmierrichtlinien|Programmierrichtlinien]], dann spricht normalerweise nichts dagegen euch auch Schreibrechte für das Admidio-Projekt in GitHub zu geben. Wenn ihr neu bei Admidio seit, dann solltet ihr, wie oben beschrieben, erst einmal einen [[https://guides.github.com/activities/forking/#fork|Fork]] erstellen und neue Funktionen oder Korrekturen dort vornehmen. Diese können wir dann über einen [[https://guides.github.com/activities/forking/#making-a-pull-request|Pull Request]] übernehmen. Habt ihr bereits über diese Methode Code beigetragen und entspricht dieser unseren [[de:entwickler:programmierrichtlinien|Programmierrichtlinien]], dann spricht normalerweise nichts dagegen euch auch Schreibrechte für das Admidio-Projekt in GitHub zu geben.
  
-Habt ihr Schreibrechte und wollt eine neue Funktion zu Admidio hinzufügen, dann sollte dies erst einmal in einem separaten Entwicklungsbranch geschehen. Dazu könnt ihr einfach über die Gui einen [[https://help.github.com/articles/creating-and-deleting-branches-within-your-repository/|neuen Brach]] mit dem Präfix **feature-** und einem Funktionsnamen eurer Erweiterung anlegen. +===== Neues Feature entwickeln ===== 
-  feature-bootstrap3-integration + 
-  feature-improved-registration +Möchtest du eine neue Funktion für Admidio entwickeln oder eine bestehende Funktion erweitern, dann wäre es schön, wenn du folgende Schritte durchführst.  
-In diesem Branch kann die neue Funktion dann fertig entwickelt und auch von anderen getestet oder begutachtet werden. Außerdem hat dies den Vorteil, dass der **Master** Branch immer relativ stabil ist und dort nur fertige neue Funktionen commited werden.+ 
 +  - Beschreibe auf unserer GitHub-Projektseite deine geplante Erweiterung. Dazu erfasst du einen neuen [[https://github.com/Admidio/admidio/issues|Issue]] und gibst diesem das Label **Enhancement**. Über diesen Issue und die dort beschriebene Funktion haben andere Teammitglieder oder Interessierte die Möglichkeit deine gewünschte Änderung kennenlernen und ggf. Anmerkungen dazu zu schreiben. 
 +  - Möchtest du nun die Funktion programmieren, dann wechsle zum **master** Branch und erzeuge einen [[https://help.github.com/desktop/guides/contributing/creating-a-branch-for-your-work/|neuen Branch]]. Dieser bekommt als Namen das Präfix **feature-** und einen kurzen Funktionsnamen z.B. //feature-bootstrap3-integration// oder //feature-improved-registration// Dieser soll dann zukünftig nur deine Änderungen enthalten. Hast du noch keine Schreibrecht im Admidio-Repository dann kannst du die Funktion auch in deinem Fork entwickeln. 
 +  - Nun kannst du deine Änderungen in diesem Feature-Branch (oder deinem eigenen Fork) entwickeln und committen, bis diese aus deiner Sicht fertig ist. Beim Einchecken (commit) sollte ein beschreibender Satz vorzugsweise in Englisch angegeben werden. 
 +  - Erstelle nun aus deinem Feature-Branch (oder deinem eigenen Fork) einen [[https://help.github.com/desktop/guides/contributing/sending-a-pull-request/|Pull-Request]]. Diesen kann nun ein anderer Entwickler prüfen und //mergen//.
  
-Beim Einchecken (commit) sollte ein beschreibeneder Satz vorzugsweise in Englisch angegeben werden, der außerdem einen Verweis zum betreffenden Issue hat. 
-  #4711 Add new button to registration formular 
-  #342  Change check of date fields 
 ===== Wie und wo behebe ich einen Fehler ? ===== ===== Wie und wo behebe ich einen Fehler ? =====
  
-Wird ein Fehler in der aktuellen veröffentlichten Version gefunden, so muss dieser im Branch und im Trunk behoben werden. Der Branch sollte in diesem Fall der veröffentlichten Version entsprechen und im Trunk (aktuelle Entwicklung der nächsten Versionmuss geschaut werden, ob der Fehler noch vorhanden ist und ggf. auch korrigiert werden.+Folgende Schritte sind notwendig, wenn ihr einen Fehler beheben wollt: 
 +  - Im ersten Schritt muss, wie bei neuen Funktionen auch, ein [[https://github.com/Admidio/admidio/issues|Issue]] erfasst werden, falls dieser nicht bereits schon existiert. 
 +  - Ist der Fehler in der zuletzt veröffentlichten Version vorhanden, so sollte er dort auch korrigiert werden. Dazu wechselst du zu dem entsprechenden Branch z.B. **v3.0**. 
 +  - Behebe den Fehler und führe die entsprechenden Commits in diesem Branch durch. Beim Einchecken (commitsollte ein beschreibender Satz vorzugsweise in Englisch angegeben werden, der außerdem einen Verweis zum betreffenden Issue hat z.B. //#4711 fix sql syntax when save new events// 
 +  - I.d.R. tritt der Fehler auch im **master** Branch auf, so dass die Commits über einen [[https://help.github.com/articles/merging-branches/|Merge]] in den **master** Branch übernommen werden müssen. Dieser Schritt kann aber auch später erfolgen.
  
-Ein einfaches kopieren der Datei vom Branch in den Trunk oder andersherum eignet sich in den meisten Fällen nichtda im Trunk die Entwicklung schon längst weitergelaufen sein könnte und die Datei dann nicht mehr zum Sourcecode des Branchs passen würde. +Habt ihr noch keine Schreibrechte im Admidio-Projekt auf GitHubso könnt ihr das Repository erst einmal [[https://help.github.com/articles/fork-a-repo/|forken]] und dort die Korrektur vornehmenAnschließend kann die Korrektur dann über einen [[https://help.github.com/articles/creating-a-pull-request/|Pull Request]] in den offiziellen Code übernommen werden.
-Sind die Dateien (Branch/Trunk) unterschiedlich, so muss der Fehler 2x korrigiert werdenNur wenn man sich **absolut sicher** ist, dass keine Unterschiede zwischen dem Branch und Trunk in den betroffenen Dateien existieren, so kann man den Fehler 1x korrigieren und die Datei dann in das andere System kopieren.+
  • de/entwickler/fehlerkorrekturen_in_mehreren_versionen.1421571512.txt.gz
  • Last modified: 2015/01/18 09:58
  • by fasse