[openstack-dev] Announcing Gertty 1.0.0: A console interface to Gerrit

Joshua Harlow harlowja at yahoo-inc.com
Fri Sep 5 03:55:17 UTC 2014


Congrats to making it to 1.0!

May there be many more :)

Sent from my really tiny device...

> On Sep 4, 2014, at 4:18 PM, "James E. Blair" <corvus at inaugust.com> wrote:
> 
> Announcing Gertty 1.0.0
> 
> Gertty is a console-based interface to the Gerrit Code Review system.
> 
> If that doesn't sound interesting to you, then just skip right on to
> the next message.  This mailing list gets a lot of traffic, and it's
> going to take you a while to read it all in that web browser you're
> using.
> 
> Gertty was written by and for coremudgeons.  But it's not just because
> we think mutt is the apex of user interface design.
> 
> We write code in a terminal.  We read logs in a terminal.  We debug code
> in a terminal.  We commit in a terminal.  You know what's next.
> 
> This is why I wrote Gertty:
> 
> * Workflow -- the interface is designed to support a workflow similar
>   to reading network news or mail.  In particular, it is designed to
>   deal with a large number of review requests across a large number
>   of projects.
> 
> * Offline Use -- Gertty syncs information about changes in subscribed
>   projects to a local database and local git repos.  All review
>   operations are performed against that database and then synced back
>   to Gerrit.
> 
> * Speed -- user actions modify locally cached content and need not
>   wait for server interaction.
> 
> * Convenience -- because Gertty downloads all changes to local git
>   repos, a single command instructs it to checkout a change into that
>   repo for detailed examination or testing of larger changes.
> 
> * Information Architecture -- in a console environment, Gertty can
>   display information to reviewers in a more compact and relevant
>   way.
> 
> * Colors -- I think ANSI escape sequences are a neat idea.
> 
> Here are some reasons you may want to use Gertty:
> 
> * Single page diff -- when you look at a diff, all of the files are
>   displayed on the same screen making it easier to see the full
>   context of a change as you scroll effortlessly around the files
>   that comprise it.  This may be the most requested feature in
>   Gerrit.  It was harder to make Gertty show only only one file than
>   it was to do all of them so that's what we have.  You still get the
>   choice of side-by-side or unified diff, color coding, inline
>   comments, and intra-line diffs.
> 
> * The checkout and cherry-pick commands -- Gertty works directly on
>   your local git repos, even the same ones you hack on.  It doesn't
>   change them unless you ask it to, so normally you don't notice it's
>   there, but with a simple command you can tell Gertty to check out a
>   change into your working tree, or cherry-pick a bunch of changes
>   onto a branch to build up a new patch series.  It's like "git
>   review -d" if you've ever used it, but instead of typing "git
>   review -d what-was-that-change-number-again?" you type "c".
> 
> * Your home address is seat 7A (or especially if it's 1A) -- Gertty
>   works seamlessly online or offline so you can review changes while
>   you're flying to your 15th mid-cycle meetup.  Gertty syncs all of
>   the open changes for subscribed projects to a local database and
>   performs all of its operations there.  When it's able to connect to
>   Gerrit, it uploads your reviews instantly.  When it's unable, they
>   are queued for the next time you are online.  It handles the
>   transition between online and offline effortlessly.  If your
>   Internet connection is slow or unreliable, Gertty helps with that
>   too.
> 
> * You review a lot of changes -- Gertty is fast.  All of the typical
>   review operations are performed against the local database or the
>   local git repos.  Gertty can review changes as fast as you can.  It
>   has commands to instantly navigate from change to change, and
>   shortcuts to leave votes on a change with a single keypress.
> 
> * You are particular about the changes you review -- Gertty lets you
>   subscribe to projects, and then displays each of those projects
>   along with the number of open changes and changes you have not
>   reviewed.  Open up those projects like you would a newsgroup or
>   email folder, and scroll down the list of changes.  If you don't
>   have anything to say about a change but want to see it again the
>   next time it's updated, just hit a key to mark it reviewed.  If you
>   don't want to see a change ever again, hit a different key to kill
>   it.  Gertty helps you review all of the changes you want to review,
>   and none of the changes you don't.
> 
> * Radical customization -- The queries that Gertty uses by default
>   can be customized.  It uses the same search syntax as Gerrit and
>   support most of its operators.  It has user-defined dashboards that
>   can be bound to any key.  In fact, any command can be bound to any
>   key.  The color palette can be customized.  You spend a lot of time
>   reviewing changes, you should be comfortable.
> 
> * Your terminal is an actual terminal -- Gertty works just fine in 80
>   columns, but it is also happy to spread out into hundreds of
>   columns for ideal side-by-side diffing.
> 
> * Colors -- you think ANSI escape sequences are a neat idea.
> 
> If you're ready to give it a shot, here's what to do:
> 
>  pip install gertty
>  wget https://git.openstack.org/cgit/stackforge/gertty/plain/examples/openstack-gertty.yaml -O ~/.gertty.yaml
>  # edit ~/.gertty.yaml and update anything that says "CHANGEME"
>  gertty
> 
> It will walk you through what to do next.  For help on any screen, hit
> F1 or "?".
> 
> For more information on installation or usage, see the README here:
> https://pypi.python.org/pypi/gertty
> 
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev



More information about the OpenStack-dev mailing list