Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [egit-dev] Using EGit to Push to Gerrit

Marek Zawirski <marek.zawirski@xxxxxxxxx> wrote:
> Shawn Pearce wrote:
>> When they don't match Gerrit returns the status code "remote
>> rejected", but it also includes a message "you are not
>> blah@xxxxxxxxxxx".  Unfortunately EGit hid that message and only
>> showed the status code, when really the message was much more useful.
> The message was hidden but still available. Perhaps it proves that UI is  
> bad at this, and we should encourage user somehow to have a look at  
> tooltip for explanations or display message inline?

We need to display the message inline, we cannot hide the error
detail under a tooltip or popup dialog over the current dialog.

Also, under SSH we may have messages coming back over the stderr
channel.  Those messages may contain additional detail about why
a rejection occurred.  IIRC right now those are discarded.

When pushing to a C Git managed repository if any of the hooks that
fire under git-receive-pack have rejected the push the only way they
can explain the error to the user is through stderr.

Gerrit Code Review can explain its errors through the status response
since it is linked against JGit and can twiddle the response message
before its sent.  Gerrit also sends informational messages to stderr,
I don't think you saw them when you pushed your two test changes,
but if you push on the command line it prints out hyperlinks to
the changes when it makes new change records.

The smart HTTP push series doesn't have a stderr channel as its
only got one data stream, but I want to add one as soon as the
basic HTTP protocol is accepted by both JGit and C git.

So, basically, we need to rethink this UI.

I actually want to move that result data out of a dialog and put
it into a view that you can dock in the workspace.  That way any
messages returned are visible and can be referenced while working to
fix problems they report.  E.g. imagine the server greps your commits
looking for cuss words and tells you to remove them.  You might want
the output to help you track down the locations it complained about.
If that is in a modal dialog, you can't do it.

Actually, very late in your GSoC project I realized I wanted this
in a view, but you already had about half of it in the dialog and
we were running out of time.  Rather than make you redo it all and
possibly miss the deadline, I accepted the dialog...


Back to the top