Eigene Änderungen in den TYPO3-Kern bringen

Preview:

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

Inspiring people toshareÄnderungen in den TYPO3-Kern bringen

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

knipseline / pixelio.de

Inspiring people toshare

Eigene Änderungen in denTYPO3-Kern bringen

Steffen Gebert <steffen@steffen-gebert.de>

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

Ä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

Inspiring people toshareÄnderungen in den TYPO3-Kern bringen

Fehler passieren... auch bei TYPO3

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.. ;-)

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

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/

Inspiring people toshare

Einführung

Änderungen in den TYPO3-Kern bringen

Workflow

Bug Tracker SVN RepositoryCore Team Liste

PatchReport Reviews Commit

Release

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

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

Inspiring people toshare

Einen Patch erstellen

Änderungen in den TYPO3-Kern bringen

TortoiseSVNRepository auschecken

Inspiring people toshare

Einen Patch erstellen

Änderungen in den TYPO3-Kern bringen

TortoiseSVNPatch extrahieren

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

Inspiring people toshare

Einen Patch erstellen

Änderungen in den TYPO3-Kern bringen

TYPO3 Coding GuidelinesLeerzeichen

Tabs

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

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

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

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

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

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!

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

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

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

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

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

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

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

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?)

Inspiring people toshare

Git & Gerrit

Änderungen in den TYPO3-Kern bringen

Gerrit

Inspiring people toshare

Git & Gerrit

Änderungen in den TYPO3-Kern bringen

Gerrit

reading

testing

Patch-versionen

Branches

Git-checkout Befehl

Inspiring people toshare

Git & Gerrit

Änderungen in den TYPO3-Kern bringen

GerritCommit auf Klick

vernünftige Diff-Ansicht

zeilengenaues Kommentieren

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/

Inspiring people toshareÄnderungen in den TYPO3-Kern bringen

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

inspiring people to share.

Recommended