Die Fernbedienung, Napster, das Smartphone, die Plastikteile am Ende der Schnürsenkel: Alles unglaubliche Erfindungen, die alles, was man bis dahin kannte, in den Schatten gestellt haben. Ein Technologie-Shift, so klein es auch sein mag, kann eine gesamte Industrie ändern. Dies ist vor 10 Jahren mit agiler Softwareentwicklung geschehen und es passiert gerade wieder mit sogenannten „Distributed Version Control Systems“ (DVCS), wie Git.

Mit Git können Softwareteams auf eine völlig neue Art und Weise gemeinsam an Source Code arbeiten. Die Vorteile liegen auf der Hand: Entwickler können intensiver und länger an ihrem Code arbeiten. Codeänderungen werden erst dann wieder gemerged, wenn die Funktion stabil läuft. Dies ist gut für Entwicklungsgeschwindigkeit, Codequalität und Zufriedenheit der Entwickler. Enterprises orientieren sich momentan Richtung Git und DVCS. Wir haben den Schritt letztes Jahr vollzogen und hören von vielen Kunden, dass sie sich ein besseres Managementsystem für Git auf ihren eigenen Servern wünschen. Also haben wir ein solches entwickelt – Atlassian Stash wurde im Mai veröffentlicht.

Heute möchten wir Ihnen Stash 1.3 vorstellen. Die neue Version erweitert den Support für Git mit zwei wichtigen Funktionen für Enterprise Teams: Pull Requests und Inline Commenting.

Stash 1.3 kostenlos testen

Das neue social Stash – jetzt mit Pull Requests

Pull Requests bieten Programmierer die Möglichkeit, den Code zu ändern, Code Reviews durchführen zu lassen, über Änderungen zu diskutieren und diese in die gemeinsame Codebase zu mergen. Wenn ein Pull Request sprechen könnte, würde er sagen: „Hier sind meine Änderungen, hier ist was ich ändere und hier ist warum ich es ändere. Kann ich bitte gemerged werden?“

 

In Stash helfen Pull Requests Entwicklern dabei, Code Reviews auf einem Branch durchzuführen, die Änderungen zu diskutieren und diese in den Master oder dem gemeinsamen Entwicklungsbranch zu mergen. Für alle, die zentrale Versionskontrollsysteme (wie Subversion) kennen, sind Pull Requests „Pre-Commit Reviews“. Man kann also die Auswirkungen eines Commits sehen und diskutieren, ohne den Code tatsächlich gemerged zu haben. Pull Requests haben einen evolutionären Vorteil: Anstatt alleine an dem Code im lokalem Repository zu arbeiten, werden die Änderungen in einem isoliertem Branch in Stash mit Teamkollegen geteilt. Hier kann dann jeder den Code ansehen und ändern. Das hilft bei Entwicklungsgeschwindigkeit, Codequalität und führt zu glücklicheren Entwicklern.

Warum ein Pull Request starten?

Pull Requests in Stash helfen Entwicklern den Code mit eine Klick zu mergen, aber das ist nicht das Wichtigste. Es ist die Diskussion über den Pull Request, die dem Entwicklungsteam den größten Vorteil bietet. Ein Pull Request wird gestartet, wenn Code

  • Bereit zum Mergen ist. Der Branch, auf dem der Entwickler gearbeitet hat, ist bereit in den gemeinsamen Entwicklungsbranch gemerged zu werden.
  • Offen zum Code Review ist. Ein Entwickler möchte gerne Feedback über die Codeänderungen erhalten und eine Diskussion starten.

Pull Requests starten mit einem Branch und enden mit einem Merge

Stash fördert den Einsatz von Branches, in denen Codeänderungen in Isolation vorgenommen werden können, reviewed werden und in den gemeinsamen Entwicklungsbranch zurückgeführt werden. Wenn man mit der Entwicklung auf dem Branch fertig ist – typischerweise nach der Behebung eines Fehlers oder Fertigstellung eines Features – beginnt Stash mit Pull Requests den Prozess des Mergens.

Einfach den Branch auswählen, an dem man gerade gearbeitet hat und den Branch, auf dem gemerged werden soll. Fügen Sie ein Titel und eine Beschreibung hinzu und wählen Sie aus, wer sich den Code noch einmal anschauen soll.

Bei der Erzeugung eines Pull Requests, lassen sich mehrere Reviewer auswählen, die über die Codeänderungen schauen und die Freigabe zum Mergen geben sollen. Wenn ein Pull Request eingestellt wurde, erhalten alle ausgewählten Reviewer eine Emailbenachrichtigung. Es können sich aber durchaus noch weitere Teammitglieder an einem Code Review beteiligen.

Bei Pull Requests hat man es im Gegensatz zu traditionellen Code Reviews selbst in der Hand, ob man sofort auf eine Anfrage reagiert (keiner möchte gerne zum Bottleneck werden, oder?). Der Code wird erst integriert, wenn alle Reviewer die Änderungen freigegeben haben.

Der Review-Prozess

Stash macht Reviews einfach und schnell. Ist ein Pull Request erst einmal erzeugt, kann man alle Änderungen auf dem Activity-Dashboard nachvollziehen.

Überblick

Der Überblick-Tab gibt den Entwicklern die Möglichkeit, die Historie eines Pull Requests einzusehen: Wechsel des Status, Kommentare und Änderungen des Codes. Man kann auf einem Blick erkennen, was passiert ist und warum etwas geändert wurde. Das spart Zeit bei der Durchführung des Code Reviews.

Nachdem man sich die Änderungen angeschaut hat, kann man mit der Diskussion beginnen oder auf schon bestehende Kommentare antworten.

Diffs

Da es mit Git eine Menge Codeänderungen gibt, ist es wichtig zu verstehen, wie das finale Merge-Ergebnis aussehen wird. Stashs einzigartige Diff-Ansicht zeigt exakt welche Änderungen gemerged werden, wenn der Pull Request abgeschlossen wird. Man ist sich also absolut im Klaren darüber, welche Files betroffen sind und welche Zeilen eingefügt werden, wenn man den „Merge Button“ drückt.

Im Diff-Tab finden die Code Reviews statt. Hier startet man Diskussionen über Codeänderungen, versteht die Änderungen im Kontext und kann den Autor um Klarstellung oder Anpassung bitten.

Notiz am Rande: Ein weiterer Vorteil von Stashs Diff-Ansicht ist, dass man Merge-Konflikte erkennen kann, bevor diese passieren. Man kann also fehlgeschlagene Builds vermeiden, indem man Konflikte vorher behebt.

Kommentieren und Diskutieren

Pull Request bieten die Möglichkeit einen Check des Codes durchführen zu lassen, bevor dieser den sicheren Branch verlässt. Das zwingt Entwickler aus ihrer isolierten Umgebung in eine Kommunikation mit dem Rest des Teams. Lassen Sie Ihr Team am gesamten Projekt teilhaben, auch wenn Sie geografisch verteilt arbeiten.

  • Entdecken Sie Probleme bevor diese in Ihre Codebase gelangen
  • Diskutieren Sie Architekturverbesserungen
  • Überprüfen Sie Ihre Code-Richtlinien
  • Loben Sie gute Arbeit

Ihre Kommentare stehen genau an der Codezeile, auf die Sie sich beziehen. Nachdem Sie ein Kommentar geschrieben haben, werden andere Reviewer darüber informiert und können in Stash eine Diskussion starten.

Das Ziel von Code-Diskussionen ist, dass man den Code verbessert. Das ist nicht anders bei Pull Requests mit Stash. Kommentare helfen Entwicklern, die eigene Arbeit zu überprüfen und zu verbessern. Wenn Änderungen vorgenommen wurden und der Request noch nicht abgeschlossen ist, informiert Stash die Reviewer über die neusten Änderungen. Kommentare fördern Diskussionen, Diskussionen führen zu besserer Codequalität.

Lichtgewichtiger Freigabeprozess

Stash ist ausgestattet mit einem einfachen Freigabemechanismus für schnelles Feedback in Pull Requests. Mit einem Klick können Entwickler Änderungen freigeben oder diese ablehnen.

Wenn Änderungen freigegeben und der Code gemerged wurde, wird eine Email verschickt, dass der Pull Request geschlossen wurde.

Im Stash Team übernimmt der letzte Entwickler, der dem Pull Request zustimmt, den Merge.

Lernen Sie noch mehr über Stash

Für Sie ist Stash neu? Git it going und starten noch heute mit einer kostenlose Testversion.

Stash kostenlos kennenlernenlernen

Sie benutzen bereits Stash? Ihr Upgrade wartet auf Sie. Lesen Sie unsere vollständigen Release Notes.

 

About Sven Peters

I'm a software geek working as an Evangelist for Atlassian. I started with software development in 1998 and have been programming for longer that I'd like to admit. Besides coding my passion is effective software development, keeping developers motivated, and helping them kick-ass. Follow me on twitter @svenpet

View all posts by Sven Peters »