| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
|
| |
This utility applet helps users navigate ~/.ssh and load an
SSH 2 style public key file into the text box, so they can
submit the key to Gerrit.
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
|
|
| |
If we embed a Java applet into the WAR its probably a decent sized
download. We should make it available as a cached entity that will
never expire, so proxies and browser caches can retain it for quite
a long time.
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
|
| |
This may be useful to embed into a URL, such as to ensure that
the URL is loaded at least once per application version seen by
a browser.
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
| |
This way the current key can be easily whacked and replaced with
the user's desired key.
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
|
|
| |
Instead of storing an invalid key, tell the user its invalid and
store nothing at all. This helps users who might be trying to
use an SSH 1 style key and insert it, we'll fail right away and
tell them its not a valid key.
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some users were confused by the red X placed next to an SSH key. They
thought this was a delete icon, to remove a key from the key list. It
was meant to signal an invalid key.
We instead now show the slightly less ambiguous "Invalid Key" message
as English text, bold and in red, so its very clear that this key is
not a valid key.
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I just didn't like the way this was presenting on screen. The label
had a 10px left margin, shoving it over the input box by 10 pixels,
but the inpux box itself wasn't indented with any margin. The whole
UI looked a bit getto to me when we had missing approvals and we had
the add reviewer option visible.
We now don't draw a label for the add reviewer box, but instead put
the action directly into the button. It should be quite clear to a
user that entering a "Name or Email" and pressing "Add Reviewer" will
add another reviewer, specified by the name or email address, to this
change.
The 10px indent has also been removed, making everything line up with
the left edge of the approval table, which looks a lot more uniform.
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
| |
This way the caller can customize the action text to be specific
to what will be performed when the user presses the button.
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
|
|
| |
Apparently when we delete a RootPanel's DOM element from the host
page we also must call detachNow() to remove it from the cleanup
list within GWT, otherwise the onUnload handler for the page has
an assertion error in hosted mode.
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It can take a second or two for the GWT code to download, parse, and
start executing. During that time its a good idea to give the user
more than just a blank window to look at, so we embed a very basic
loading message into the default DOM in the host page. In practice
it is hard to see this message, as the UI does start up pretty quick.
Once the UI is ready to install the first screen we drop the elements
out of the DOM tree, so the browser no longer needs to manage them.
We also embed a hyperlink back to the project homepage. This can
be useful for non-JavaScript enabled browsers, so they can at least
jump back to the Gerrit project and learn more about why JavaScript
might need to be enabled here. It also will help to boost our
project's rankings in search engines, as any search engine will
most likely index only the host page.
Anyone who is using Gerrit on their site should also help drive
traffic back to the main project, to promote more developers to get
interested in contributing. It is in everyone's best interest if
we have a vibrant developer community behind Gerrit.
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
|
|
| |
By including the commit action in the gitweb link for a commit the
gitweb CGI has a better idea of what we want it to show for this
object. If the object isn't present yet (e.g. due to a mirroring
lag) we get a little better error message shown to the client.
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
| |
Fixed a bug where the Approvals table wasn't updating after adding a
reviewer, which made it difficult to see if the add actually worked.
Signed-off-by: Brad Larson <bklarson@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some users have noticed failure cases where the ref isn't being
created for a patch set, and the pack file the objects are
supposed to be in is also not present in the repository after
the upload. I haven't yet tracked down why this happens only
some of the time, but I did identify these call sites weren't
doing any error checking for unexpected return values.
We should always be getting a NEW result here, as the ref must
not exist locally and must be created successfully. Any other
return value indicates the ref didn't create as we expected it
to, which means the repository isn't in the state it should be
either before we started, or after we finished this operation.
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
|
| |
If a new change creation failed we were overwriting the result
with OK, which was wrong. The client should know we rejected
the push as something failed our end.
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
| |
Just a minor fix for some typos in the project setup
documentation
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Additional reviewers can be requested to look at a change by entering
their name/email address into an input box below the approvals
table on a change screen. Any added reviewers are sent an email
with a link back to the change, so they can come visit Gerrit and
do the review. A score of 0 is also automatically assigned so the
user appears in the approval table, and the change shows in their
dashboard.
Bug: GERRIT-37
Signed-off-by: Brad Larson <bklarson@gmail.com>
|
|
|
|
|
|
| |
Like enter, these open a new comment editor for the current line.
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Review comments are now using the same size font, so the text is a
bit larger and easier to read. They also use up a bit more screen
space vertically, so its easier to notice the comment block.
Comment sections have a thick orange border on the left and right side,
making them stand out visually from the other parts of the file.
We also color them with a light-peachish background color, which is
visually distinct from the light green or red used on other lines.
Bug: GERRIT-72
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
| |
This can really help when debugging Gerrit, but it also gives the user
a little better information about where the changes are in the file.
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The line numbers we were using to create new post-image comment
editors in the unified diff view were wrong. Due to a simple
copy and paste error we were using the old (aka pre-image) line
number for the line, which always caused the comment to appear
in the wrong location later on, even though we showed it at the
right location initially.
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
|
|
| |
We failed to initialize the versions table, so comment editor
creation in the unified diff view of a file always failed with
a null pointer exception. In a unified diff view we currently
assume there are only two file versions (base, patch set).
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
| |
Apparently I got the standard confused, we need to use "middle" here
to align an asset in the vertical center of its container.
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
|
|
| |
Several users asked that the browser default behavior for the up/down
arrow keys be restored when looking at a patch in the side by side or
unified diff views. By overridding the method and returning false we
permit the key listener to leave the event for the browser to handle.
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Its a security risk to permit other web pages to insert a Gerrit
window into an iframe. They could use CSS tricks to layer some
innocent object over our page and mask the UI, so that the user
thinks they are clicking on a button to view a cute kitten, when
in fact they are submitting a change in ownership for an object
in Gerrit, like a project.
Since Gerrit isn't really intended to be used in a mashup, but
is instead a code review system that needs to be fairly paranoid
about the data it controls, its reasonable to require that we are
always the top level window for the browser.
This particular frame busting trick doesn't work in IE if the
attacker page turns off JavaScript in our <iframe>, but then
we wouldn't be able to render any of our widgets anyway, or do
any RPC calls, so no state could change as a result of such an
embedding attack.
I'm putting the code for this inside of the module load, so we
can't easily strip it out of a host page by accident, or through
some evil pre-processing trick. Its tightly compiled into the
obfuscated output, which makes it rather horrid to bypass.
We have to test for "GWT.isScript()" in order to bypass this in
the hosted mode debugging shell. That shell appears to at least
initially load Gerrit into some sort of <iframe> like environment,
and running this code there busts the debugger entirely. Since we
are only running locally from a controlled developer environment,
its not a security risk to bypass the frame busting code there.
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
|
|
| |
Applications using this UI widget shouldn't know the technical
details of how it shows the "hint" in the box. Callers of getText()
should only get the empty string if the hint is still present,
as the user hasn't put anything into the box.
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
|
|
| |
We can't include the message writer's Account.Id in the Message-Id
as doing so prevents comments being sent by sendComment() from
threading under the earlier notifications sent by sendNewChange()
or sendNewPatchSet().
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
| |
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
|
| |
Gerrit started to service Android, and the default workflow it
supports "out of the box" is the AOSP workflow. Linking to the
diagrams there may help users to better understand what they get.
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
| |
This gives notice/credit where credit is due, especially on the
BSD licensed components we depend upon.
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
| |
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
|
|
|
| |
This tab allows project owners to view branches, delete branches,
and create new branches from any Git commit SHA-1 expression we
can recognize in JGit (which is most of the expressions, except
reflog queries).
Bug: GERRIT-20
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
|
|
| |
We need this code in other areas where we create a RefUpdate
object in JGit on behalf of an authenticated Account. It is
somewhat related to changes, so ChangeUtil is good enough as
a home for now.
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
|
|
|
|
| |
JGit defines Constants.R_HEADS to be "refs/heads/" but we don't
have JGit's source code in our build path, so GWT can't use that
constant here in Branch. It also can't process the Constants in
JGit as that class contains references to types that GWT lacks,
even though that would all strip out anyway during the build (as
it is never called). So we duplicate these simple definitions.
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
|
|
| |
If any changes are stuck in SUBMITTED state we try to execute
the pending merge into the destination branch, in case these
were in the in-memory merge queue when Gerrit shutdown.
Bug: GERRIT-7
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Currently the SSH daemon always disables compression, but that
default might change in the future. We know that compression
will never be useful on our data streams, as they are always
moving highly compressed Git pack files. So we disable them
ourselves just in case the default should ever change in the
upstream SSH daemon code.
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
|
| |
This way its easier to upload to the Google Code download site,
as the WAR file name produced by the build is exactly the name
we want it to have.
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
| |
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
| |
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
| |
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Firefox 3.0.6 and Safari 3.2.1 don't honor the overflow:hidden
style we use for the subject column of the change table. All
other browsers (Opera, Firefox 2, Camino) honor this style and
clip the subject line rather than making the table wider than
the browser window. Firefox 3 and Safari however are making the
table as wide as necessary to display everything, which results
in the trailing columns being place off screen when someone uses
a subject that is longer than expected.
Until I find a workaround in CSS that allows all browsers to do
automatic resizing of this column, I'm artificially clipping it
at 80 characters during display. This is wide enough that any
reasonable message will fit without clipping, but not so wide as
to cause the tables to be unusable on a laptop display.
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
| |
It looks ugly when "platform/foo" wraps at the "/" mark.
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
|
|
| |
When receiving changes from push we record the user who has
authenticated to us in the reflog, rather than our own user
identity. This makes the reflog much more useful, especially
on real branches.
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
| |
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Show trailing whitespace (space and/or tab after the end of line,
but before the LF) by displaying it with a red background, so it
stands out visually against the rest of the patch.
Also show tab-after-space within the leading indentation for the
line, as this is an abnormal way to indent a line of code that
usually results in badly formatted code.
Bug: GERRIT-23
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
|
| |
The browser selection doesn't work, at least on Android. Until
I figure out what is going on I'm removing the variant from the
build so it takes less time to compile.
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Jetty and c3p0 leak all of the connections unless our own application
tells c3p0 to cleanup while Jetty is winding down the context in order
to load it again. There's some sort of disconnect in the standards,
or in the Jetty code, where the c3p0 DataSource pool doesn't get GC'd
automatically. In order to close the connections down we need to do
a destroy on the pool ourselves.
Since we don't want to make c3p0 a hard dependency we invoke destroy
via reflection.
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
| |
We don't have c3p0 in the WAR anymore as its an "optional" feature
that the user should setup in their container.
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
| |
Signed-off-by: Shawn O. Pearce <sop@google.com>
|
|
|
|
|
|
|
| |
Commit 90ca58cf2aa70d0a323f7b2ba318ae16d1ca0d87 accidentally
included debug edits made to my local log4j.properties file.
Signed-off-by: Shawn O. Pearce <sop@google.com>
|