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 review_site/bin/gerrit.sh restart
==== ====
('Optional') Link the gerrit.sh script into rc3.d so the daemon ('Optional') Configure the daemon to automatically start and stop
automatically starts and stops with the operating system: 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 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]. * 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 Configuration
~~~~~~~~~~~~~ ~~~~~~~~~~~~~

View File

@@ -94,6 +94,10 @@ public class PageLinks {
return PROJECTS + name.get() + DASHBOARDS + id; 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) { public static String projectQuery(Project.NameKey proj) {
return op("project", proj.get()); 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.Element;
import com.google.gwt.dom.client.NativeEvent; import com.google.gwt.dom.client.NativeEvent;
import com.google.gwt.event.dom.client.ClickEvent; 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.dom.client.KeyPressEvent;
import com.google.gwt.event.logical.shared.ValueChangeEvent; import com.google.gwt.event.logical.shared.ValueChangeEvent;
import com.google.gwt.event.shared.HandlerRegistration; 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.Button;
import com.google.gwt.user.client.ui.FlowPanel; import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.HTMLPanel; 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.gwt.user.client.ui.ToggleButton;
import com.google.gwtexpui.clippy.client.CopyableLabel; import com.google.gwtexpui.clippy.client.CopyableLabel;
import com.google.gwtexpui.globalkey.client.GlobalKey; import com.google.gwtexpui.globalkey.client.GlobalKey;
@@ -135,6 +137,7 @@ public class ChangeScreen2 extends Screen {
@UiField Element changeIdText; @UiField Element changeIdText;
@UiField Element ownerText; @UiField Element ownerText;
@UiField Element statusText; @UiField Element statusText;
@UiField Image projectQuery;
@UiField InlineHyperlink projectLink; @UiField InlineHyperlink projectLink;
@UiField InlineHyperlink branchLink; @UiField InlineHyperlink branchLink;
@UiField Element submitActionText; @UiField Element submitActionText;
@@ -284,13 +287,17 @@ public class ChangeScreen2 extends Screen {
new DownloadAction(info, revision, style, headerLine, download); 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.setText(info.project());
projectLink.setTargetHistoryToken( projectLink.setTargetHistoryToken(
PageLinks.toChangeQuery( PageLinks.toProject(info.project_name_key()));
PageLinks.projectQuery(
info.project_name_key(),
info.status())));
} }
private void initBranchLink(ChangeInfo info) { private void initBranchLink(ChangeInfo info) {
@@ -649,7 +656,7 @@ public class ChangeScreen2 extends Screen {
initIncludedInAction(info); initIncludedInAction(info);
initRevisionsAction(info, revision); initRevisionsAction(info, revision);
initDownloadAction(info, revision); initDownloadAction(info, revision);
initProjectLink(info); initProjectLinks(info);
initBranchLink(info); initBranchLink(info);
actions.display(info, revision); 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:g='urn:import:com.google.gwt.user.client.ui'
xmlns:x='urn:import:com.google.gerrit.client.ui' xmlns:x='urn:import:com.google.gerrit.client.ui'
xmlns:clippy='urn:import:com.google.gwtexpui.clippy.client'> 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:with field='res' type='com.google.gerrit.client.change.Resources'/>
<ui:style type='com.google.gerrit.client.change.ChangeScreen2.Style'> <ui:style type='com.google.gerrit.client.change.ChangeScreen2.Style'>
@eval textColor com.google.gerrit.client.Gerrit.getTheme().textColor; @eval textColor com.google.gerrit.client.Gerrit.getTheme().textColor;
@@ -133,6 +134,11 @@ limitations under the License.
float: right; float: right;
} }
.queryProject {
float: left;
cursor: pointer;
}
.infoColumn { .infoColumn {
width: 440px; width: 440px;
padding-right: 10px; padding-right: 10px;
@@ -317,8 +323,15 @@ limitations under the License.
</tr> </tr>
<tr> <tr>
<th><ui:msg>Project</ui:msg></th> <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'> 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'/> <ui:attribute name='title'/>
</x:InlineHyperlink> </x:InlineHyperlink>
</td> </td>

View File

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

View File

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