On 09/04/2014 04:17 PM, James E. Blair 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

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

  * 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

  * 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
 -O ~/.gertty.yaml
   # edit ~/.gertty.yaml and update anything that says "CHANGEME"

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:

I, for one, welcome our new gertty overlords.

As an early pre-release user who also sits on aeroplanes a lot, I have found gertty to be a MASSIVE productivity increase. I cannot possibly recommend it highly enough.

Thank you for your work Jim!


OpenStack-dev mailing list

Reply via email to