# Bringing pull requests to Gerrit

With CollabNet TeamForge it is now possible to use feature branch workflow
in addition to standard gerrit workflow to work on your changes.
In this presentation you will learn how it works, why we have decided to
implement it, how was it implemented and what were the choices we have made
and challenges along the way.

*Eryk Szymanski, CollabNet*
