Merge branch 'stable-2.6' into stable-2.7

* stable-2.6:
  Use "abbreviation" instead of "abbreviatedName" for labels
  Update the 2.6 release notes
  Update 2.6 release notes to include fixes from 2.5.3 and 2.5.4

Conflicts:
	gerrit-server/src/main/java/com/google/gerrit/server/schema/SchemaCreator.java

Change-Id: If654a1444455102de0990d435a98fa313afa1699
This commit is contained in:
Shawn Pearce
2013-05-22 17:00:57 -07:00
8 changed files with 86 additions and 20 deletions

View File

@@ -175,8 +175,8 @@ text"`. The `<#>` may be any positive or negative number with an
optional leading `+`. optional leading `+`.
[[label_abbreviatedName]] [[label_abbreviation]]
`label.Label-Name.abbreviatedName` `label.Label-Name.abbreviation`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
An abbreviated name for a label shown as a compact column header, for An abbreviated name for a label shown as a compact column header, for

View File

@@ -6,8 +6,10 @@ Gerrit 2.6 is now available:
link:http://code.google.com/p/gerrit/downloads/detail?name=gerrit-2.6.war[http://code.google.com/p/gerrit/downloads/detail?name=gerrit-2.6.war] link:http://code.google.com/p/gerrit/downloads/detail?name=gerrit-2.6.war[http://code.google.com/p/gerrit/downloads/detail?name=gerrit-2.6.war]
Gerrit 2.6 includes the bug fixes done with Gerrit 2.6 includes the bug fixes done with
link:ReleaseNotes-2.5.1.html[Gerrit 2.5.1] and link:ReleaseNotes-2.5.1.html[Gerrit 2.5.1],
link:ReleaseNotes-2.5.2.html[Gerrit 2.5.2]. These bug fixes are *not* link:ReleaseNotes-2.5.2.html[Gerrit 2.5.2],
link:ReleaseNotes-2.5.3.html[Gerrit 2.5.3], and
link:ReleaseNotes-2.5.4.html[Gerrit 2.5.4]. These bug fixes are *not*
listed in these release notes. listed in these release notes.
Schema Change Schema Change
@@ -78,6 +80,8 @@ has scrolled down the page.
* Mark all CSS classes as external so users can rely on them. * Mark all CSS classes as external so users can rely on them.
* Add a link to the REST API documentation in the top menu.
Search Search
^^^^^^ ^^^^^^
* Animate search bar by expanding & unexpanding * Animate search bar by expanding & unexpanding
@@ -146,7 +150,7 @@ too much space due to the long label texts.
* Voting on draft changes is now possible. * Voting on draft changes is now possible.
* Recommend rebase on Path Conflict * Recommend rebase on Path Conflict.
* link:https://code.google.com/p/gerrit/issues/detail?id=1685[Issue 1685]: * link:https://code.google.com/p/gerrit/issues/detail?id=1685[Issue 1685]:
After 'Up to change' expand the patch set that was just reviewed After 'Up to change' expand the patch set that was just reviewed
@@ -166,10 +170,12 @@ Users don't really need the ID column present. For most changes the
subject is descriptive and unique enough to identify the correct subject is descriptive and unique enough to identify the correct
change. change.
* Do not wrap project/branch/owner fields in change table * Do not wrap project/branch/owner fields in change table.
+ +
This makes it easier to use Gerrit on narrow screens. This makes it easier to use Gerrit on narrow screens.
* Rename "Old Version History" to "Reference Version".
Patch Screens Patch Screens
^^^^^^^^^^^^^ ^^^^^^^^^^^^^
@@ -189,6 +195,10 @@ reviewed checkbox and link.
+ +
This avoids alignment errors when syntax highlighting is enabled. This avoids alignment errors when syntax highlighting is enabled.
* Distinguish between error and timeout in intraline diff error message.
* Enable expanding skipped lines even if 'Syntax Coloring' is off.
Project Screens Project Screens
^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^
@@ -787,6 +797,25 @@ The release script is aborted if asciidoc is missing.
* Exclude all `pom.xml` files that are archetype resources in `version.sh` * Exclude all `pom.xml` files that are archetype resources in `version.sh`
* Source files generated by Prolog are now correctly included in the Eclipse
project.
* Core plugins are now included as git submodules.
* `mvn package` now generates the documentation by default.
+
The documentation will always be generated unless `-Dgerrit.documentation.skip`
is given on the command line.
* `mvn verify` now runs acceptance tests by default.
+
The `acceptance` profile is no longer used. Acceptance tests will always
be run unless `-Dgerrit.acceptance-tests.skip=True` is given on the command line.
* Vertically align the "Choose:" header on the Become Any Account page.
* "Become Any Account" can be used for accounts whose full name is an empty string.
Performance Performance
~~~~~~~~~~~ ~~~~~~~~~~~
* Bitmap Optimizations * Bitmap Optimizations
@@ -996,7 +1025,7 @@ Upgrades
Embedded Jetty is now 8.1.7.v20120910. Embedded Jetty is now 8.1.7.v20120910.
* ASM bytecode library is now 4.0. * ASM bytecode library is now 4.0.
* JGit is now 2.3.1.201302201838-r.78-g8fcde4b. * JGit is now 2.3.1.201302201838-r.208-g75e1bdb.
* asciidoc 8.6.3 is now required to build the documentation. * asciidoc 8.6.3 is now required to build the documentation.
* link:https://code.google.com/p/gerrit/issues/detail?id=1155[Issue 1155]: * link:https://code.google.com/p/gerrit/issues/detail?id=1155[Issue 1155]:
prettify is now r225 prettify is now r225
@@ -1183,6 +1212,16 @@ confusing.
+ +
", however the current patch set is Y." is now skipped if Y == X. ", however the current patch set is Y." is now skipped if Y == X.
* link:https://code.google.com/p/gerrit/issues/detail?id=1843[Issue 1843]:
Enable the "Create Project" and "Create Group" buttons when pasting the name
into the text box.
* link:https://code.google.com/p/gerrit/issues/detail?id=1370[Issue 1370]:
Fix PatchScreen leak when moving between files.
* Prevent account's full name from being set to empty string. Set it to
null instead.
REST API REST API
~~~~~~~~ ~~~~~~~~
* Fix returning of 'Email Reviewers' capability via REST * Fix returning of 'Email Reviewers' capability via REST
@@ -1326,6 +1365,8 @@ If the author of a change isn't known to Gerrit (pushed with
`Forge Author` permissions), trying to abandon that change over SSH `Forge Author` permissions), trying to abandon that change over SSH
failed with an NPE. failed with an NPE.
* Fix setting account's full name via ssh.
Query Query
~~~~~ ~~~~~
* link:https://code.google.com/p/gerrit/issues/detail?id=1729[Issue 1729]: * link:https://code.google.com/p/gerrit/issues/detail?id=1729[Issue 1729]:
@@ -1393,6 +1434,10 @@ it once again in PluginGenerator caused double plugin initialization.
Listing plugins requires being an administrator. This was missed in the Listing plugins requires being an administrator. This was missed in the
REST API. REST API.
* link:https://code.google.com/p/gerrit/issues/detail?id=1827[Issue 1827]:
Allow InternalUser (aka plugins) to see any internal group, and run
plugin startup and shutdown as PluginUser.
Email Email
~~~~~ ~~~~~
* Merge failure emails are only sent once per day. * Merge failure emails are only sent once per day.
@@ -1576,6 +1621,10 @@ HTTP reverse proxies.
Documentation Documentation
------------- -------------
The link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/index.html[
documentation index] is restructured to make it easier to use for different kinds of
users.
User Documentation User Documentation
~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~
* Split link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/rest-api.html[ * Split link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/rest-api.html[
@@ -1663,6 +1712,23 @@ like "No DataSource" on the first deployment.
link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/config-gerrit.html#ldap.groupName[ link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/config-gerrit.html#ldap.groupName[
LDAP group name setting] LDAP group name setting]
* Improve the documentation of
link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/user-submodule.html[
git submodule subscription handling]
* Clarify the documentation of change cache setup.
* Improve the explanation of path conflicts in the
link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/project-setup.html[
project setup documentation].
* Add explanations of special/magic refs in the
link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/access-control.html#references[
access control documentation].
* Clarify how to set Global Capabilities.
* Correct documentation of the `create-account` ssh command.
* Add documentation of the `database.connectionPool` setting.
* Adapt documentation to having 'Projects' as top level menu * Adapt documentation to having 'Projects' as top level menu
* Added missing documentation of mail templates. * Added missing documentation of mail templates.
* Added documentation of contributor agreements. * Added documentation of contributor agreements.

View File

@@ -93,7 +93,7 @@ public class LabelType {
protected String name; protected String name;
protected String abbreviatedName; protected String abbreviation;
protected String functionName; protected String functionName;
protected boolean copyMinScore; protected boolean copyMinScore;
protected boolean copyMaxScore; protected boolean copyMaxScore;
@@ -114,7 +114,7 @@ public class LabelType {
canOverride = true; canOverride = true;
values = sortValues(valueList); values = sortValues(valueList);
abbreviatedName = defaultAbbreviation(name); abbreviation = defaultAbbreviation(name);
functionName = "MaxWithBlock"; functionName = "MaxWithBlock";
maxNegative = Short.MIN_VALUE; maxNegative = Short.MIN_VALUE;
@@ -137,12 +137,12 @@ public class LabelType {
return psa.getLabelId().get().equalsIgnoreCase(name); return psa.getLabelId().get().equalsIgnoreCase(name);
} }
public String getAbbreviatedName() { public String getAbbreviation() {
return abbreviatedName; return abbreviation;
} }
public void setAbbreviatedName(String abbreviatedName) { public void setAbbreviation(String abbreviation) {
this.abbreviatedName = abbreviatedName; this.abbreviation = abbreviation;
} }
public String getFunctionName() { public String getFunctionName() {

View File

@@ -620,7 +620,7 @@ public class ProjectConfig extends VersionedMetaData {
} }
String abbr = rc.getString(LABEL, name, KEY_ABBREVIATION); String abbr = rc.getString(LABEL, name, KEY_ABBREVIATION);
if (abbr != null) { if (abbr != null) {
label.setAbbreviatedName(abbr); label.setAbbreviation(abbr);
} }
String functionName = Objects.firstNonNull( String functionName = Objects.firstNonNull(
@@ -912,9 +912,9 @@ public class ProjectConfig extends VersionedMetaData {
rc.setString(LABEL, name, KEY_FUNCTION, label.getFunctionName()); rc.setString(LABEL, name, KEY_FUNCTION, label.getFunctionName());
if (!LabelType.defaultAbbreviation(name) if (!LabelType.defaultAbbreviation(name)
.equals(label.getAbbreviatedName())) { .equals(label.getAbbreviation())) {
rc.setString( rc.setString(
LABEL, name, KEY_ABBREVIATION, label.getAbbreviatedName()); LABEL, name, KEY_ABBREVIATION, label.getAbbreviation());
} else { } else {
rc.unset(LABEL, name, KEY_ABBREVIATION); rc.unset(LABEL, name, KEY_ABBREVIATION);
} }

View File

@@ -71,7 +71,7 @@ class LabelPredicate extends OperatorPredicate<ChangeData> {
} }
for (LabelType lt : types.getLabelTypes()) { for (LabelType lt : types.getLabelTypes()) {
if (toFind.equalsIgnoreCase(lt.getAbbreviatedName())) { if (toFind.equalsIgnoreCase(lt.getAbbreviation())) {
return lt; return lt;
} }
} }

View File

@@ -216,7 +216,7 @@ public class AllProjectsCreator {
new LabelValue((short) 0, "No score"), new LabelValue((short) 0, "No score"),
new LabelValue((short) -1, "I would prefer that you didn't submit this"), new LabelValue((short) -1, "I would prefer that you didn't submit this"),
new LabelValue((short) -2, "Do not submit"))); new LabelValue((short) -2, "Do not submit")));
type.setAbbreviatedName("CR"); type.setAbbreviation("CR");
type.setCopyMinScore(true); type.setCopyMinScore(true);
c.getLabelSections().put(type.getName(), type); c.getLabelSections().put(type.getName(), type);
return type; return type;

View File

@@ -229,7 +229,7 @@ public class Schema_77 extends SchemaVersion {
LegacyLabelType type = LegacyLabelType type =
new LegacyLabelType(getLabelName(catRs.getString("name")), values); new LegacyLabelType(getLabelName(catRs.getString("name")), values);
type.setId(id); type.setId(id);
type.setAbbreviatedName(catRs.getString("abbreviated_name")); type.setAbbreviation(catRs.getString("abbreviated_name"));
type.setFunctionName(catRs.getString("function_name")); type.setFunctionName(catRs.getString("function_name"));
type.setCopyMinScore("Y".equals(catRs.getString("copy_min_score"))); type.setCopyMinScore("Y".equals(catRs.getString("copy_min_score")));
types.add(type); types.add(type);

View File

@@ -114,7 +114,7 @@ public class SchemaCreatorTest extends TestCase {
LabelType codeReview = getLabelTypes().byLabel("Code-Review"); LabelType codeReview = getLabelTypes().byLabel("Code-Review");
assertNotNull(codeReview); assertNotNull(codeReview);
assertEquals("Code-Review", codeReview.getName()); assertEquals("Code-Review", codeReview.getName());
assertEquals("CR", codeReview.getAbbreviatedName()); assertEquals("CR", codeReview.getAbbreviation());
assertEquals("MaxWithBlock", codeReview.getFunctionName()); assertEquals("MaxWithBlock", codeReview.getFunctionName());
assertTrue(codeReview.isCopyMinScore()); assertTrue(codeReview.isCopyMinScore());
assertValueRange(codeReview, 2, 1, 0, -1, -2); assertValueRange(codeReview, 2, 1, 0, -1, -2);