Merge branch 'stable-2.8'

* stable-2.8:
  ChangeScreen2: Add query icon for project
  Increase diff font size to 9pt
  Add more detail about secondary indexing in the 2.8 release notes
  Add missing steps for daemon auto start/stop in install documentation

Change-Id: Idc7577d17f8b1fb4150a1dade5f91bb17b548505
This commit is contained in:
David Pursehouse
2013-10-30 15:17:23 +09:00
7 changed files with 69 additions and 11 deletions

View File

@@ -120,8 +120,19 @@ background, use the rc.d style start script created by 'init':
review_site/bin/gerrit.sh restart
====
('Optional') Link the gerrit.sh script into rc3.d so the daemon
automatically starts and stops with the operating system:
('Optional') Configure the daemon to automatically start and stop
with the operating system.
Uncomment the following 3 lines in the `'$site_path/bin/gerrit.sh'`
script:
====
chkconfig: 3 99 99
description: Gerrit Code Review
processname: gerrit
====
Then link the `gerrit.sh` script into `rc3.d`:
====
sudo ln -snf `pwd`/review_site/bin/gerrit.sh /etc/init.d/gerrit

View File

@@ -65,6 +65,29 @@ Buck].
* Documentation is now built with Buck and link:http://asciidoctor.org[Asciidoctor].
Indexing and Search
~~~~~~~~~~~~~~~~~~~
Gerrit can be configured to use a
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/config-gerrit.html#index[
secondary index] with Lucene or Solr.
Existing search operations use the secondary index, when enabled, to increase
performance and reduce resource usage.
The following additional search operations are possible when secondary indexing
is enabled:
* New
link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/user-search.html#comment[
`comment` search operator].
* The link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.8/user-search.html#file[
`file` operator] can be used to find changes on the specified file.
* Regular expressions are allowed in `file` searches.
Configuration
~~~~~~~~~~~~~

View File

@@ -94,6 +94,10 @@ public class PageLinks {
return PROJECTS + name.get() + DASHBOARDS + id;
}
public static String toProjectDefaultDashboard(Project.NameKey name) {
return PROJECTS + name.get() + DASHBOARDS + "default";
}
public static String projectQuery(Project.NameKey proj) {
return op("project", proj.get());
}

View File

@@ -59,6 +59,7 @@ import com.google.gwt.dom.client.AnchorElement;
import com.google.gwt.dom.client.Element;
import com.google.gwt.dom.client.NativeEvent;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.KeyPressEvent;
import com.google.gwt.event.logical.shared.ValueChangeEvent;
import com.google.gwt.event.shared.HandlerRegistration;
@@ -72,6 +73,7 @@ import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.HTMLPanel;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.ToggleButton;
import com.google.gwtexpui.clippy.client.CopyableLabel;
import com.google.gwtexpui.globalkey.client.GlobalKey;
@@ -135,6 +137,7 @@ public class ChangeScreen2 extends Screen {
@UiField Element changeIdText;
@UiField Element ownerText;
@UiField Element statusText;
@UiField Image projectQuery;
@UiField InlineHyperlink projectLink;
@UiField InlineHyperlink branchLink;
@UiField Element submitActionText;
@@ -284,13 +287,17 @@ public class ChangeScreen2 extends Screen {
new DownloadAction(info, revision, style, headerLine, download);
}
private void initProjectLink(ChangeInfo info) {
private void initProjectLinks(final ChangeInfo info) {
projectQuery.addDomHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
Gerrit.display(
PageLinks.toProjectDefaultDashboard(info.project_name_key()));
}
}, ClickEvent.getType());
projectLink.setText(info.project());
projectLink.setTargetHistoryToken(
PageLinks.toChangeQuery(
PageLinks.projectQuery(
info.project_name_key(),
info.status())));
PageLinks.toProject(info.project_name_key()));
}
private void initBranchLink(ChangeInfo info) {
@@ -649,7 +656,7 @@ public class ChangeScreen2 extends Screen {
initIncludedInAction(info);
initRevisionsAction(info, revision);
initDownloadAction(info, revision);
initProjectLink(info);
initProjectLinks(info);
initBranchLink(info);
actions.display(info, revision);

View File

@@ -20,6 +20,7 @@ limitations under the License.
xmlns:g='urn:import:com.google.gwt.user.client.ui'
xmlns:x='urn:import:com.google.gerrit.client.ui'
xmlns:clippy='urn:import:com.google.gwtexpui.clippy.client'>
<ui:with field='ico' type='com.google.gerrit.client.GerritResources'/>
<ui:with field='res' type='com.google.gerrit.client.change.Resources'/>
<ui:style type='com.google.gerrit.client.change.ChangeScreen2.Style'>
@eval textColor com.google.gerrit.client.Gerrit.getTheme().textColor;
@@ -133,6 +134,11 @@ limitations under the License.
float: right;
}
.queryProject {
float: left;
cursor: pointer;
}
.infoColumn {
width: 440px;
padding-right: 10px;
@@ -317,9 +323,16 @@ limitations under the License.
</tr>
<tr>
<th><ui:msg>Project</ui:msg></th>
<td><x:InlineHyperlink ui:field='projectLink'
<td><g:Image
ui:field='projectQuery'
resource='{ico.queryIcon}'
styleName='{style.queryProject}'
title='Search for changes on this project'>
<ui:attribute name='title'/>
</g:Image>
<x:InlineHyperlink ui:field='projectLink'
title='Go to project'>
<ui:attribute name='title'/>
</x:InlineHyperlink>
</td>
</tr>

View File

@@ -661,7 +661,7 @@ a:hover {
.patchContentTable td {
padding-top: 0;
padding-bottom: 0;
font-size: 8pt;
font-size: 9pt;
font-family: mono-font;
}

View File

@@ -24,7 +24,7 @@ import com.google.gwt.user.client.ui.Image;
public class ProjectSearchLink extends InlineHyperlink {
public ProjectSearchLink(Project.NameKey projectName) {
super(" ", PageLinks.toProjectDashboard(projectName, "default"));
super(" ", PageLinks.toProjectDefaultDashboard(projectName));
setTitle(Util.C.projectListQueryLink());
final Image image = new Image(Gerrit.RESOURCES.queryIcon());
DOM.insertBefore(getElement(), image.getElement(),