34
Inspiring people to share Änderungen in den TYPO3-Kern bringen TYPO3-Camp München - 11./12. September 2010 knipseline / pixelio.de

Eigene Änderungen in den TYPO3-Kern bringen

Embed Size (px)

DESCRIPTION

Erklärung der Reviewprozesse im TYPO3-Core und hilfreiche Tipps zum Erstellen und Einsenden von Patches. Vortrag auf dem TYPO3camp Munich 2010 http://www.typo3camp-munich.com

Citation preview

Page 1: Eigene Änderungen in den TYPO3-Kern bringen

Inspiring people toshareÄnderungen in den TYPO3-Kern bringen

TYPO3-Camp München - 11./12. September 2010

knipseline / pixelio.de

Page 2: Eigene Änderungen in den TYPO3-Kern bringen

Inspiring people toshare

Eigene Änderungen in denTYPO3-Kern bringen

Steffen Gebert <[email protected]>

TYPO3-Camp München - 11./12. September 2010

Änderungen in den TYPO3-Kern bringen

Page 3: Eigene Änderungen in den TYPO3-Kern bringen

Inspiring people toshareÄnderungen in den TYPO3-Kern bringen

Einführung

Vorstellung

Steffen Gebert

Student, Freelancer

TYPO3 Core Team Member

Page 4: Eigene Änderungen in den TYPO3-Kern bringen

Inspiring people toshareÄnderungen in den TYPO3-Kern bringen

Fehler passieren... auch bei TYPO3

Page 5: Eigene Änderungen in den TYPO3-Kern bringen

Inspiring people toshare

Einführung

Änderungen in den TYPO3-Kern bringen

Bug-Report verfassendetaillierte Problembeschreibung

wo tritt der Fehler auf?

was wird erwartet?

was passiert stattdessen?

Screenshot?

relevante Konfigurationseinstellungen?

eben wie man sich selbst Fehlerbeschreibungen wünscht.. ;-)

Page 6: Eigene Änderungen in den TYPO3-Kern bringen

Inspiring people toshare

Einführung

Änderungen in den TYPO3-Kern bringen

Bug Report - und was dann?gemeldete Fehler sind gut

beseitigte Fehler noch besser :)

leider mangelnde Resourcen, daher häufig nicht bearbeitet

niemand *muss* Bugs fixen

Ziel

Fehler selbst lösen

In nächstes Release bringen

Page 7: Eigene Änderungen in den TYPO3-Kern bringen

Inspiring people toshare

Einführung

Änderungen in den TYPO3-Kern bringen

InstrumenteBug Trackerhttp://bugs.typo3.org

Core-Team Mailingliste (typo3.teams.core)news://lists.typo3.orghttp://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-team-core

Subversion Repositoryhttps://svn.typo3.org/TYPO3v4/Core/

Page 8: Eigene Änderungen in den TYPO3-Kern bringen

Inspiring people toshare

Einführung

Änderungen in den TYPO3-Kern bringen

Workflow

Bug Tracker SVN RepositoryCore Team Liste

PatchReport Reviews Commit

Release

Page 9: Eigene Änderungen in den TYPO3-Kern bringen

Inspiring people toshare

Einen Patch erstellen

Änderungen in den TYPO3-Kern bringen

Patch erstellenüber SVN-Repository gegen typo3_src-Verzeichnis

nicht diff typo3_src-alt/ typo3_src-gepatcht/

Einspielen mit patch -p0 -i 12345.diff

Page 10: Eigene Änderungen in den TYPO3-Kern bringen

Inspiring people toshare

Einen Patch erstellen

Änderungen in den TYPO3-Kern bringen

KommandozeileRepository auscheckensvn checkout https://svn.typo3.org/TYPO3v4/Core/trunk .

Änderung durchführen

Änderungen betrachtensvn diff

Patch erstellensvn diff > bugnummer.diff

Page 11: Eigene Änderungen in den TYPO3-Kern bringen

Inspiring people toshare

Einen Patch erstellen

Änderungen in den TYPO3-Kern bringen

TortoiseSVNRepository auschecken

Page 12: Eigene Änderungen in den TYPO3-Kern bringen

Inspiring people toshare

Einen Patch erstellen

Änderungen in den TYPO3-Kern bringen

TortoiseSVNPatch extrahieren

Page 13: Eigene Änderungen in den TYPO3-Kern bringen

Inspiring people toshare

Einen Patch erstellen

Änderungen in den TYPO3-Kern bringen

TYPO3 Coding GuidelinesExtension doc_core_cgl

Patches müssen den CGLs entsprechen

ein paar Auszüge

Einrückungen per Tabs, keine Spaces

keine Whitespaces am Zeilenende

Tipp: Whitespaces in IDE anzeigen lassen

Page 14: Eigene Änderungen in den TYPO3-Kern bringen

Inspiring people toshare

Einen Patch erstellen

Änderungen in den TYPO3-Kern bringen

TYPO3 Coding GuidelinesLeerzeichen

Tabs

Page 15: Eigene Änderungen in den TYPO3-Kern bringen

Inspiring people toshare

Einen Patch erstellen

Änderungen in den TYPO3-Kern bringen

TYPO3 Coding GuidelinesUppercase Booleans

String-Vergleiche mit ===

nur geänderte Zeilen an CGL anpassen

Page 16: Eigene Änderungen in den TYPO3-Kern bringen

Inspiring people toshare

Senden an die Core-Liste

Änderungen in den TYPO3-Kern bringen

Bug Tracker aktualisierenPatch anhängen

Tag “pending in core list” hinzufügen

Page 17: Eigene Änderungen in den TYPO3-Kern bringen

Inspiring people toshare

Senden an die Core-Liste

Änderungen in den TYPO3-Kern bringen

Die Core Team Mailingliste/Newsgroupseit ca. 2 Jahren offen für jeden

jeder darf Reviewen und Patches senden

Mailinglisten-Regeln

Requests for Comments (RFCs)

angelehnt an Internetstandards der IETF

vorgegebenes Nachrichtenformat auf der Core-Liste

Page 18: Eigene Änderungen in den TYPO3-Kern bringen

Inspiring people toshare

Senden an die Core-Liste

Änderungen in den TYPO3-Kern bringen

Requests for Comments

Text

Betreff: RFC #BUGNUMMER: BUGTITEL

“This is a SVN patch request.”

Type: Bugfix / Feature / Code cleanup

Bug Tracker Link

Branches

Patch im Anhang

Page 19: Eigene Änderungen in den TYPO3-Kern bringen

Inspiring people toshare

Senden an die Core-Liste

Änderungen in den TYPO3-Kern bringen

RFC: BranchesZweige für jeweilige Major-Version(Verzeichnis branches/)

Aktueller Entwicklungszweig: trunk/

Ggf. getrennte Patches für unterschiedliche Branches mitschicken

Neue Features *nur* für trunkNur Bugfixes für veröffentlichte Versionen

Page 20: Eigene Änderungen in den TYPO3-Kern bringen

Inspiring people toshare

Senden an die Core-Liste

Änderungen in den TYPO3-Kern bringen

RFC: Beschreibung und LösungProblemProblembeschreibung: Alle nötigen Details, aber nicht zu viel Text!

SolutionErklärung der Änderung

Optional: NoteHinweise, ausführliche Erklärung, How to reproduce, Step by step

sehrempfehlenswert!

Page 21: Eigene Änderungen in den TYPO3-Kern bringen

Inspiring people toshare

Senden an die Core-Liste

Änderungen in den TYPO3-Kern bringen

VotingsAndere Programmierer müssen Änderung absegnen

Zustimmung durch Vergabe von “+1”

by reading by testing

Core Team Mitglied +1 +1

beliebiger Reviewer +1 +1

Fehler beseitigt UND keine

neuen Probleme

Durchsicht des Quellcodes

Page 22: Eigene Änderungen in den TYPO3-Kern bringen

Inspiring people toshare

Senden an die Core-Liste

Änderungen in den TYPO3-Kern bringen

Reviews & Votingshäufig Aufforderung zur Überarbeitung

überarbeiteten Patch formlos in Antwort senden

Aus diesem Grund: Patch nicht nur im Bug Tracker anhängen, sondern selbst an die Liste senden, um bei Rückfragen reagieren zu können

Page 23: Eigene Änderungen in den TYPO3-Kern bringen

Inspiring people toshare

Senden an die Core-Liste

Änderungen in den TYPO3-Kern bringen

Keine Reaktion..?nicht jeder Patch wird sofort begutachtet

Beschreibung verständlich?

“How to reproduce” vorhanden?

REMINDER nach 7 Tagen Schweigen erlaubt

Kontaktnetzwerk aufbauen, potenzielle Reviewer ansprechen

Page 24: Eigene Änderungen in den TYPO3-Kern bringen

Inspiring people toshare

Senden an die Core-Liste

Änderungen in den TYPO3-Kern bringen

Committed to..Nach erfolgreichem Review - Bearbeitung durch Kernentwickler

Aktualisierung ChangeLog

Einpflegen in Subversion Repository

Schließen des Bug Reports

Hinweis im Mailinglistenthread

Page 25: Eigene Änderungen in den TYPO3-Kern bringen

Inspiring people toshare

Senden an die Core-Liste

Änderungen in den TYPO3-Kern bringen

Bug DaysProbleme bei der Lösungsfindung?

Unterstützung durch erfahrene Entwickler

Versuch, neue Entwickler an die Core-Arbeit heranzuführen

Immer letzter Freitag im Monat

http://wiki.typo3.org/wiki/BugDay

irc://irc.freenode.net/#typo3-bugday

Page 26: Eigene Änderungen in den TYPO3-Kern bringen

Inspiring people toshare

Schattenseiten...

Änderungen in den TYPO3-Kern bringen

Core Liste ist unübersichtlichgroße Anzahl Mails

viel Diskussion

nicht erkennbar, ob schon comitted

Feedback von mir erwartet?

Patches hin- und herschicken

Page 27: Eigene Änderungen in den TYPO3-Kern bringen

Inspiring people toshare

Git & Gerrit

Änderungen in den TYPO3-Kern bringen

Git und GerritGit

Ablösung von Subversion

verteilte Versionskontrolle

Gerrit

Review-Server

Webinterface

von Google für Android-Entwicklung entwickelt, genutzt u.a. bei Eclipse-Entwicklung

Page 28: Eigene Änderungen in den TYPO3-Kern bringen

Inspiring people toshare

Git & Gerrit

Änderungen in den TYPO3-Kern bringen

Git und GerritFLOW3/Phoenix-Team nutzt Git/Gerrit seit aktuellem Sprint-Release

zur T3CON Veröffentlichung des Sprint-Releases

Core Team Meeting, vermutlich mit Bericht über Erfahrungen

Wunsch: Einführung auch für TYPO3 v4 (nach 4.5-Release?)

Page 29: Eigene Änderungen in den TYPO3-Kern bringen

Inspiring people toshare

Git & Gerrit

Änderungen in den TYPO3-Kern bringen

Gerrit

Page 30: Eigene Änderungen in den TYPO3-Kern bringen

Inspiring people toshare

Git & Gerrit

Änderungen in den TYPO3-Kern bringen

Gerrit

reading

testing

Patch-versionen

Branches

Git-checkout Befehl

Page 31: Eigene Änderungen in den TYPO3-Kern bringen

Inspiring people toshare

Git & Gerrit

Änderungen in den TYPO3-Kern bringen

GerritCommit auf Klick

vernünftige Diff-Ansicht

zeilengenaues Kommentieren

Page 32: Eigene Änderungen in den TYPO3-Kern bringen

Inspiring people toshareÄnderungen in den TYPO3-Kern bringen

WeblinksBug Trackerhttp://bugs.typo3.org

Core-Team Mailingliste (typo3.teams.core)news://lists.typo3.org

Core Mailinglist Ruleshttp://typo3.org/teams/core/core-mailinglist-rules/

TYPO3 Coding Guidelineshttp://typo3.org/documentation/document-library/core-documentation/doc_core_cgl/current/

Artikel auf typo3blogger.dehttp://typo3blogger.de/ab-in-den-core/

SVN Repositoryhttps://svn.typo3.org/TYPO3v4/Core/

Page 33: Eigene Änderungen in den TYPO3-Kern bringen

Inspiring people toshareÄnderungen in den TYPO3-Kern bringen

?????????????

Page 34: Eigene Änderungen in den TYPO3-Kern bringen

inspiring people to share.