Because we do not have a .testr.conf configuration file the call of
python setup.py testr will fail.
Change-Id: I04a7111fb63a10c5b9631633d54f4b2b3508a6bc
Updated column shows the time of the last update to a change if the last change
was 'today' otherwise it shows the date
Change-Id: I1c0cca9b30f414ddd5d95485a688515c15d0be13
Add a schema change to store whether the user can submit a revision.
Offer the submit button on that revision, as well as on the review
dialog if applicable. Allow the submit action to be bound to
reviewkeys. Also bind it to a key command.
Change-Id: I341663ac84d2ac09f9b1ef8c9e0dff45d2658e1d
Different changes (even within a project) may have different review
labels associated with them. When building the change listing screen,
iterate over all of the changes to get the superset of labels in
order to build the label columns on the right (the previous method
simply used the labels from the first change).
Change-Id: I77805eb3c0439cef86277c45b4261ad81aef3bbc
Technically in the REST API, the revision number for a message is
optional. In practice, all current Gerrit messages have a revision.
However, in reality (which is apparently different than practice)
Gerrit's Gerrit sometimes omits the revision number for some old
messages, even though the content of the message actually clearly
states "Patch Set 1". To handle this case, just associate messages
with the first patchset so they will at least show up without error.
The main reason a message is associated with a patchset in the local
DB is for when we are writing a message. So this solution is
probably good enough.
Change-Id: Ibf9d2a20277a89f24bb33d274342abce177f680e
* Urlquote the username and password for the git fetch command
in case they have reserved characters in them.
* Don't assume a reviewer has a name when syncing; instead use
the account id to determine whether their approval is already
in the db.
* Don't use the username in the approval to determine if the
current user has voted; instead, compare account_ids to the
account id that we got when we ran syncownaccount.
These were all observed problems with Gerrit's own Gerrit.
Change-Id: Id03ec742f00533ae67c2e2a9e81c9f8f5de8c958
If a change owner does not have a display name configured, the change
list doesn't display any name.
Rather than displaying nothing, attempt to use the username or email
instead if one of them is configured.
If no display name, username or email is set for the owner, default
to 'Anonymous Coward'.
Change-Id: Ifa2c56d89ed3d9b24e67643e460cacc133db90dd
If you set up a virtualenv in gertty-env according to the instructions
in the readme, it shows up as an untracked folder. Add it to the ignore
list.
Change-Id: Ieff29851a8e7a16be53a5a12f14dc2ee9f6e9a5e
Gerrit instances running at googlesource.com require authentication
with HTTP basic auth.
Add a new config option to allow to specify either basic auth or digest
auth. Default to digest auth if not specified.
Change-Id: Iab6f666082bd3fee2c77a8c489255926cc93edba
Closes-Bug: 291
If a change owner has no name configured, attempting to view the list
of changes causes gertty to fail with:
urwid.util.TagMarkupException: Invalid markup element: None
Change-Id: Idc0d13f4dfce45e29618c4abda7d6a70fc091e98
As per the governance resolution https://review.openstack.org/119875,
projects should have a docs environment in their tox.ini testing
interface. Rename the doc environment to docs.
Change-Id: Ib3c26755b780e6910df3e18dffc5db24c30c0324
It's nice to be able to tell what version you're running from within
the application itself, and the help dialog seems as good a place to
display it as any. Add it to the previously very short dialog title
line so as not to take up additional lines in the display.
Change-Id: Ie1ae713c4aeff5ae7136f1d5796f095f54db60aa
Add help text for the HTTP password option to all example configs,
since the issue is not obvious, especially give the current
failure mode of a traceback in JSON parsing code.
Add a direct link to the appropriate openstack setting page.
Change-Id: I2ccc723258c502221beb052b3a42b13085a2af7e
Update the openstack example config file with some additional help
text about the username and password. The first time I ran this it
took me a little bit to figure out the right password to use. I
didn't realize I needed to go generate a password in my gerrit
settings. Hopefully this note will avoid confusion by someone else in
the future.
Change-Id: If93ec938e48f624aff4741b19d95e03abb8c8a9c
If a user is crazy enough to want to do something like run gertty
on top of MySQL, most things work ... except for a few places where
bare use of SQL in the migrations bypass identifier quoting.
Change-Id: I0145389d645ca647d2e599c79f5266f60dec85f4
If the currently displayed change was opened via a link and there
is a change list in the navigation hierarchy, Gertty will find
the change list but not the current change. Protect against a
crash in that case and do nothing.
Change-Id: I85b00b8cf6af258b672f15352b75803d931c59a6
When the currently displayed change was not arrived at from a
query listing (for example, was directly opened), there may be no
change list to find in the navigation history. Don't try to use
it if that's the case.
Change-Id: I6fdb1ed2e16675bf1be3726b836130b695225b6b
We need more control over diff colorization for proper rendering
and processing. Ensure that local settings don't cause us to
blow up when we're doing it.
Change-Id: I07fc445d9328c9df1ed52e8b328cce6fbea78f43
This should probably never happen, but it has anyway, so assume the
email field is a utf8 string. This should avoid crashing in case
someone has a utf8 email, but may not be a complete solution to
the case that an email is in a non-ascii, non-utf8 charset.
Change-Id: I95ed91e5fdfe35b73550e1824e609a0b1d388b3a
Gertty previously supported F1 and '?' as help keys, but '?' was
accidentally switched to 'h' when customizable keymaps were added.
Switch back to the old value.
Change-Id: Iaab801e4d53c59e6f45021ddfaa85bb740898ce8
Gerrit supports up to 10 queries in a single request. Do the project
sync queries in batches of 10 to reduce network traffic.
Change-Id: I9aecbb91c1898d436fc54d21d1910badaddfef3b
When a change no longer was needed by another change, gertty would
crash when attempting to remove the line from the display.
Change-Id: I58492b43140fcfff05badf0be978b786118e0efb
Story: 262
The sync module would indirectly modify the status widget (so that
the count of sync actions would be up to date). If this happened
while urwid was drawing the screen, urwid may invalidate cached
information in mid-redraw, resulting in an exception and crash.
This updates the StatusHeader widget so that changes are merely
recorded to internal variables, and the actual widgets are updated
by a refresh method called from within the main loop.
Change-Id: I27043533d33d44aae31005670a1b727e9cc7bb90
Story: 260
So that it's easy to look up the key values that are supported for
those options in the YAML file.
Change-Id: Idc08d4319582ead001806549809d2d2bee0ff06c
To further distinguish the local vs remote cherry pick operation,
add 'local' to the name in the keymap. Same for checkout (though
it has no remote).
Change-Id: Idcca8a9dbddfc571eda32634a7dc2a7bfb8a070a