summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Release notes for Gerrit 2.8.5v2.8.5David Pursehouse2014-05-072-0/+108
| | | | Change-Id: I87b951065a8331e635f042ece7266c9e859516be
* Bump version to 2.8.5David Pursehouse2014-05-075-5/+5
| | | | Change-Id: I177ccfd2a3db387822085602dfc66267703c0a48
* Keep old timestamps during data migrationMonty Taylor2014-05-021-1/+2
| | | | | | | | | | | | | | | As part of the update to patch_set_approavals, the category names are changed. Doing so causes "ON UPDATE CURRENT_TIMESTAMP" in at least MySQL to replace all of the existing timestamps with the time of the migration. Since the purpose of CURRENT_TIMESTAMP here is to track when the approval vote happened, this is a loss of data. Amend the data migration to include granted=granted in the update list so that anyone running the migration will not lose their data. Change-Id: If80891018eae0fab75770a5aea5a382200e9112f
* Include gerrit.war in api_{install,deploy}Dariusz Luksza2014-05-015-6/+9
| | | | | | | | | This patch adds gerrit.war into api_{install,deploy} buck build step. This allows third party maven based builds depend on gerrit.war artifact. Change-Id: I22c8d3339a1647913967e423e45462c2c5c255de Signed-off-by: Dariusz Luksza <dariusz@luksza.org>
* Merge "Added global request handlers to SshDaemon" into stable-2.8Shawn Pearce2014-04-251-0/+13
|\
| * Added global request handlers to SshDaemonSven Selberg2014-04-241-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since sshd 0.10.0 the handling of global requests is refactored out of [1] ServerConnectionService.globalRequest method to AbstractConnectionService.globalRequest. The implementation has been refactored into a list of RequestHandlers, one for each type of request. These handlers are never set in SshDaemon constructor as they should be. See SshServer.getUpDefaultServer line 503 Change-Id: I7a38145c021538838d11427950db66eb57a50582
* | Merge changes Ied38df30,I98f4b7c7,Icd99b92c,If7fd7f4c into stable-2.8David Pursehouse2014-04-254-15/+27
|\ \ | | | | | | | | | | | | | | | | | | | | | * changes: Use Provider for IdentifiedUser in CreateBranch constructor Split PGPEncryptedDataGenerator creation out into a utility method ChangeScreen2: Only reset the commit message text on cancel Fix log spew caused by DeleteBranch constructor
| * | Use Provider for IdentifiedUser in CreateBranch constructorDavid Pursehouse2014-04-251-4/+6
| | | | | | | | | | | | | | | | | | | | | This is the same fix that was already done for DeleteBranch's constructor in If7fd7f4c38bcbc685d4f9451479da7a9ed432564. Change-Id: Ied38df303eaf4ea1893527e947633445974e9d19
| * | Split PGPEncryptedDataGenerator creation out into a utility methodDavid Pursehouse2014-04-251-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Split the creation of PGPEncryptedDataGenerator out into a utility method. Inline the call to the open() method on the returned generator rather than storing the generator in a temporary variable. Suppress deprecation warnings caused by using methods that have been deprecated in the new version of Bouncycastle that was introduced recently. We cannot yet replace the calls with the newer versions because some Gerrit sites still use the older version of Bouncycastle. Change-Id: I98f4b7c7bf8ab1ee74eb8bbc86b673d057d98e46
| * | ChangeScreen2: Only reset the commit message text on cancelShawn Pearce2014-04-251-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow the user to begin editing the commit message, dismiss the box by clicking outside of it (e.g. to copy part of a file name from the Files table), and then re-open the current draft text without resetting the box. Only reset the box when the user explicitly clicks Cancel. Track this by using the empty string in the text editor to mean there is no valid message and the current original should be used. Change-Id: Icd99b92c50ff92e0b1dc31a78fc57612f57a143b
| * | Fix log spew caused by DeleteBranch constructorShawn Pearce2014-04-251-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Every time branches are accessed the server logs a nasty Guice trace preventing DeleteBranch from being created. The view must create without enforcing the IdentifiedUser to exist. The solution throughout the rest of Gerrit REST API code is to use Provider<X> instead of X to allow Guice to defer this resolution. Change-Id: If7fd7f4c38bcbc685d4f9451479da7a9ed432564
* | | Only permit current patch set to edit the commit messageShawn Pearce2014-04-241-0/+5
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not allow users to replace a more recent patch set with an older patch set when there is a race between the web UI and the command line git client: 1. Upload a new change (Patch Set 1) 2. Open the code review page in a browser 3. Upload a second version of the change (Patch Set 2) 4. Without refreshing the code review page, so that it's still showing Patch Set 1, click the Edit Message button, change the commit message, and hit save. 5. Note that this has created a Patch Set 3 with file contents taken from Patch Set 1 but the edited message. Change-Id: I73af89989b72d9e702061b3746390df68cef4b62
* | Install open ssl jar into Gerrit site for bouncycastle crypto providerDavid Ostrovsky2014-04-247-18/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 937d527ac0e4ee685fccb60ae604406a6638daec upgraded bouncy castle to 1.49. The old JAR artifact was renamed and split to number of files. For Gerrit two libraries must be downloaded and be available under `$gerrit_site/lib`: * bcprov-jdk15on-149.jar * bcpkix-jdk15on-149.jar Update download logic to support a basic concept of required dependencies, ensuring BC provider is downloaded if the SSL library is installed by init. Change-Id: I60092ebe136f78a5649fe8512737275f50195a34
* | Bump bouncycastle verison to 1.49David Ostrovsky2014-04-242-8/+8
|/ | | | | | | | | | Many bugs were fixed since version 1.44 that we are using[1]. JARs artifacts were renamed. [1] http://www.bouncycastle.org/releasenotes.html Change-Id: Ie2b22328c77b0100dfff61139b737894b88e7664
* SideBySide2: Fix failure to load from "ISE EditIterator out of bounds"Shawn Pearce2014-04-242-17/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Intraline edit information can include a negative delta on the B side of an edit, for example: { a: [...], b: [...], edit_a: [[4, 11], [14, 12]] edit_b: [[4, 66], [37, 41], [-2, 1]] } In the edit_a or edit_b block the list pairs are the number of characters to advance since the last position. -2 encodes the edit iterator has to go back 2 positions to return the correct value. This situation arose from an intraline edit list of: REPLACE( 4-15, 4- 70), REPLACE(29-41,107-148), INSERT (62-62,146-147) The EditList is sorted by the beginA values, where 29 < 62. This forced the final INSERT to sort in the edit_b list after the REPLACE at 107. Since 146 < 148 the final edit_b entry was encoded with a negative delta (148 - 146 = -2). Update the UI code to accept a negative delta in the iterator. There are already many /diff responses with negative delta that will be cached by browsers for 7 days. There may be other issues with the intraline diff algorithm that allows it to create this final INSERT span within the REPLACE span, but the code is essentially unchanged for many years in Gerrit Code Review. Handle the corner case for now in the UI while the server code is investigated further. Change-Id: Ibec0fc845356af7c02f25acac23c4e709f7c3a34
* Merge changes I441995ea,I6668f619 into stable-2.8Shawn Pearce2014-04-233-13/+33
|\ | | | | | | | | | | * changes: Update sshd to 0.11.0 Bump SSHD version to 0.10.1 and enable nio2 backend
| * Update sshd to 0.11.0David Pursehouse2014-04-232-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | Fixes a few issues including a null pointer exception [1] that causes ssh commands to hang. It also adds server driven rekeying after 1G bytes of data transferred, which is a useful security feature. [1] https://issues.apache.org/jira/browse/SSHD-307 Change-Id: I441995eaf76e4fe53f7991f5aef00e062900791b
| * Bump SSHD version to 0.10.1 and enable nio2 backendDavid Ostrovsky2014-04-233-13/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 46f8488a78742799a4f5f781279c8955460e7964 removed nio2 backend because of a bug [1]. Given that the bug is fixed and released, enable it again. Another problem was also fixed and released [2]. Upgrade to the official version 0.10.1 makes Gerrit's own custom patch of SSHD and hosting it on Google bucket unnecessary. [1] https://issues.apache.org/jira/browse/SSHD-252 [2] https://issues.apache.org/jira/browse/SSHD-255 Bug: Issue 2406 Change-Id: I6668f6194427f153e1982e14b3936d2f3132fa7d
* | Remove "Click to" from topic edit button's tooltipDavid Pursehouse2014-04-231-1/+1
| | | | | | | | | | | | | | Making it more consistent with the tooltips on the other buttons. Change-Id: I3f26b08866452eb666da2a23be7201528b5f81a7
* | Fix: wrongly throw 'commit already exists' exceptionBruce Zu2014-04-231-1/+1
|/ | | | | | | | | | | | | The reason is the ReplaceRequest.validate() should compare to 'newCommit' of ReplaceRequest instance, else when ReceiveCommits.autoCloseChanges() working on the second one of a series of commits, the 'commit already exists(in the project)' will be thrown wrongly. Fixed. Bug: issue 2607 Change-Id: Ib4db351d39f85d57ccf532da4d6422bdcbb88105
* Fix: Wrong exception mapping in ReceiveCommmitsBruce Zu2014-04-182-14/+49
| | | | | | | | | | | | When IOException is thrown in insertPatchSet() or insertChange(), e.g. ClosedByInterruptException thrown from AutoCommitWriter.manualFlush(), it will be mapped to OrmException with error message "Error updating database" by ORM_EXCEPTION, this becomes misleading when the administrator analyzes the error log. Fixed. Replaced the ORM_EXCEPTION with INSERT_EXCEPTION. Change-Id: I49a6dfea7e49df72db775989a3a0501f60db76d2
* Fix REST example for removing included groups from a groupEdwin Kempin2014-04-181-1/+1
| | | | | Change-Id: I8047fa702c12150232ebf62bcd16a27eb638c5e8 Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
* rest-api-groups.txt: Correct input examples to use [] for listsDave Borowitz2014-04-181-4/+4
| | | | | Change-Id: I109bced2f9309dd20a7962d5fdbcd999fa6f87ff (cherry picked from commit a2bf824fa154b7cb51e8f89df8321d02c25f3425)
* Enable automatic close changes on 'refs/meta/config'Bruce Zu2014-04-171-3/+3
| | | | | Bug: issue 2569 Change-Id: Ic192daa21cfcc1f26fa9f00feb14f41013a29fb9
* Implement pagination in group list screenAnthony Chin2014-04-165-14/+106
| | | | | | | | Group list screen now uses pagination similar to project list screen. The number of groups displayed is determined by the 'Maximum Page Size' in user preferences. Change-Id: Id4649fda4b06ef62bf9d630460aeefc1c5f65989
* Add option 'n' and 'S' to groups REST API to limit group results.Anthony Chin2014-04-162-0/+40
| | | | | | | | | | | | | | List groups endpoint now has an option to limit the number of results returned and a start to define nonzero offset in order to support groups pagination. Add and document 'n' and 'S' function to allow query group list from a specified limit and start. Both options will then be used to render group list with pagination in web UI. Change-Id: Ibf244b1cfe83c56dc1c23aabf70a55697b52c835
* Do not refresh group list if filter did not changeAnthony Chin2014-04-161-3/+7
| | | | | | | | | | Every time key up event is raised in the group list filter box, the group list was getting refreshed even if the filter did not change (e.g. moving the cursor was refreshing the list). Only call the refresh if the filter is changed or enter is pressed. Change-Id: I64d24eeae08f35723b401fffd9a3e8ed84c8d00c
* Don't show the submit button for draft patch setsDavid Pursehouse2014-04-151-1/+2
| | | | | | | Currently the button is enabled for all open changes, but if the patch set is a draft, pressing it results in an error. Change-Id: I382fc9330b73d357c00ba0209f18d2c1584e9256
* Prevent draft changes from being abandonedDavid Ostrovsky2014-04-151-0/+3
| | | | | | | | | | | When a draft change is abandoned it is currently published to all users by setting the status to ABANDONED. Restoring the change will effectively publish the change as /restore sets the status to NEW. To not complicate the workflow, prevent draft changes from being abandoned. Change-Id: If747264fa66a2139e0d8f13987125d853ec3bed9
* Ensure NrtFutures are notified promptly of new search generationDave Borowitz2014-04-141-9/+20
| | | | | | | | | | | | | | | | The internal waiting generation counter in ControlledRealTimeReopenThread is only increased when waitForGeneration is called. This controls whether the min or max refresh time is used for waiting. Because NrtFuture.get is not called directly and listeners may be used instead, this was not guaranteed to happen, leading to long delays. Fix this by doing a dummy wait for 0ms at future construction time. Change the order of refresh listener initialization so any removeIfDone calls are made only after the internal listener within ControlledRealTimeReopenThread updates its searching generation. Change-Id: I0edf4a3d38a160496afaf0587cf14b6fee2f2aa5
* Fix deadlocks in SubIndex shutdownDave Borowitz2014-04-141-1/+17
| | | | | | | | | | | | | | | | | | | | | | | Because WorkQueue.Module and LuceneIndexModule are in the same Injector, the ordering of their LifecycleListeners' stop() methods is not defined. Tasks on the queue, e.g. background mergeability checks, might try to perform index writes after the SubIndex is shut down. Shutting down the SubIndex stops the ControlledRealTimeReopenThread, which immediately sets the generation to Long.MAX_VALUE and notifies any callers currently waiting on a generation. But the call sites using NrtFutures in LuceneChangeIndex are not calling NrtFuture.get, which waits on a generation; they are using Futures.allAsList, which depends on addListener. So, we need to check the generation number in the call to addListener as well as in in get. This may also improve performance, since futures in some cases will not need to wait for a reopen thread refresh cycle before notifying their listeners. Change-Id: I0ec3e315638a90dd5da3cf7f0d2cc50599a5bb36
* Release notes for Gerrit 2.8.4v2.8.4David Pursehouse2014-04-112-0/+174
| | | | Change-Id: If89b43f642e2cd06c29e1549273832ca70d07cb4
* Merge "Set uploader to current user in "patchset-created" event upon ↵Edwin Kempin2014-04-101-3/+5
|\ | | | | | | cherry-picking" into stable-2.8
| * Set uploader to current user in "patchset-created" event upon cherry-pickingChristian Aistleitner2014-04-101-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | When using the web ui (both old and new ChangeScreen) to cherry-pick a change to a branch that already has this change (e.g.: cherry-picking on the same branch to get rid of dependencies), the corresponding patchset-created event had its patchSet.uploader set to the Change's owner instead of the current user. We now set it to the current user, so stream-events consumers can properly detect who uploaded the rebased patch set. Change-Id: I0613ecae06b7843b8ca0294f83378c3917c26810
* | Fix JavaDoc warningEdwin Kempin2014-04-102-1/+2
| | | | | | | | | | | | | | | | | | | | | | The JavaDoc generation reported the following warning: .../EmailReviewCommentsExecutor.java:29: warning - Tag @link: reference not found: EmailReviewComments Change-Id: If30a0e08ccbcea0ee55d208cc2dc6840c4dab00e Signed-off-by: Edwin Kempin <edwin.kempin@sap.com> (cherry picked from commit a5d2ad3933bd021d6a5a947642bf14bcfd1b998b)
* | SideBySide2: Show [ and ] shortcut keys in nav arrow tooltipsShawn Pearce2014-04-103-2/+6
| | | | | | | | | | | | | | | | In the top right corner of a file the navigation cluster has a tooltip on the up arrow but did not show the tooltip on the left or right arrows. Show the key in the tooltip. Change-Id: I192ef0ab8155c15b4bb35a18da33f74f15bb5537
* | Merge "Always auto confirm adding reviewers for set-reviewers SSH command" ↵Edwin Kempin2014-04-102-1/+2
|\ \ | |/ |/| | | into stable-2.8
| * Always auto confirm adding reviewers for set-reviewers SSH commandEdwin Kempin2014-04-092-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | If a group contains more than 'addreviewer.maxWithoutConfirmation' members adding it as reviewer to a change requires a confirmation. A user should only be asked for the confirmation when reviewers are added from the WebUI but not when the set-reviewers SSH command is used. This is also how 'addreviewer.maxWithoutConfirmation' is documented in 'config-gerrit.txt'. Bug: issue 2599 Change-Id: Ieab601e573115a0b034e1dcebe1c602adda6770b Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
* | Improve wording of 'parents' field description in CommitInfoEdwin Kempin2014-04-091-2/+2
|/ | | | | Change-Id: I5d136856f4d9794b74914579b39f2a1da3eb4ce8 Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
* Merge "Fix 'parents' field name of CommitInfo in REST documentation" into ↵Edwin Kempin2014-04-091-1/+1
|\ | | | | | | stable-2.8
| * Fix 'parents' field name of CommitInfo in REST documentationEdwin Kempin2014-04-091-1/+1
| | | | | | | | | | Change-Id: I804ab1f8034ac9fb1be9d178acce509f6d997d09 Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
* | Implement pagination in project list screenAnthony Chin2014-04-095-18/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | The project list screen was taking a long time to render over a large amount of projects (1,000+) and with even larger number of projects (3,000+), it could make the browser unresponsive. Project list screen now uses pagination to resolve this issue. The number of projects displayed is determined by the 'Maximum Page Size' user preference. Bug: issue 2215 Change-Id: Icd0a7d54fd5c5b3c2301c31026e7c6717a648a24
* | Add option 'S' to projects REST API to support query offsetAnthony Chin2014-04-092-0/+27
|/ | | | | | | | | | | | | | | List projects endpoint has an option to limit the number of results returned but it was missing an option to start at a nonzero offset in order to support results paging. Add and document 'S' option which allow to query project list starting at a nonzero offset. Also add missing documentation for the 'n' option which limits the number of results. Those 2 options will be then used to render project list with pagination in web UI. Change-Id: I19c4cd1cfa6ed78f22c84f249af54a5c30387561
* Fix: Failure of acceptance tests.Bruce Zu2014-04-081-0/+11
| | | | | | | a7e34313 broken the acceptance tests. Fixed. Change-Id: I577cc875bcce3013cabd2f1b6813e7be820d4b3c
* Do not refresh project list if filter did not changeHugo Arès2014-04-081-3/+7
| | | | | | | | | | Every time key up event is raised in the project list filter text box, the project list was getting refreshed even if the filter did not change (e.g. moving the cursor was refreshing the list). Only call the refresh if the filter changed or if enter key is pressed. Change-Id: I2e608d89e16dbef0cfe1e503ac2feb4639c27f5d
* Fix inconsistent behavior of diff view when viewing binary filesBruce Zu2014-04-082-6/+22
| | | | | | | | | | | | | | | In the new change screen, if the user clicks on a binary file in the file list, the unified view is used. Then when navigating to a previous or next file that is not binary, the diff view stays in the old unified setting. It is only possible to get back to the new side-by-side view by going back to the change screen and then opening the non-binary file from there. To keep consistent behavior of diff view, always use unified diff for binary files. Use the user's preference setting for non-binary files. Change-Id: Ie4ece4cb740df8a69cbf3d2d42e4b0fb05461520
* Update cookbook plugin to latest revisionDavid Pursehouse2014-04-071-0/+0
| | | | | | - Fix plugin name in REST API documentation synopsis lines Change-Id: I3bcf6da0e4ec3fb76aab3a93e08da427df39c09b
* Correct Javadoc of RestReadView in extension APIDavid Pursehouse2014-04-041-1/+1
| | | | | | | The resource parameter specifies the resource to be read, not the resource to be modified. Change-Id: I4010674a348cefad02c234118ff25cf332dd76b4
* Merge "Fix memory leak of SubIndex.NrtFuture objects" into stable-2.8David Pursehouse2014-04-041-29/+27
|\
| * Fix memory leak of SubIndex.NrtFuture objectsBruce Zu2014-04-031-29/+27
| | | | | | | | | | | | | | | | | | The SubIndex.NrtFuture objects are added as listeners of searchManager who was found to hold on to them forever. Fixed. There are also some code refactoring in NrtFuture. Change-Id: If87cb62890a1cfa6c6336f6c7953a1cb56d42937