Merge branch 'stable-2.12'
* stable-2.12:
Fix sending of inline comments on commit message for initial change
AbstractQueryChangesTest: Add test for query by draft status
Fix schema 115: Create a new MetaDataUpdate instance for each update
Add the --strict-labels option to SSH review command
Allow to add custom core plugins in release build
Maven: Split Maven repository settings out to a separate def file
Change-Id: I6025858f08214056c288823fe1ce79685800182a
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchFile.java b/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchFile.java
index 8740a6b..e479ba9 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchFile.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchFile.java
@@ -26,6 +26,7 @@
import org.eclipse.jgit.lib.ObjectReader;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.revwalk.RevCommit;
+import org.eclipse.jgit.revwalk.RevObject;
import org.eclipse.jgit.revwalk.RevTree;
import org.eclipse.jgit.revwalk.RevWalk;
import org.eclipse.jgit.treewalk.TreeWalk;
@@ -56,7 +57,11 @@
if (patchList.isAgainstParent()) {
a = Text.EMPTY;
} else {
- a = Text.forCommit(reader, patchList.getOldId());
+ // For the initial commit, we have an empty tree on Side A
+ RevObject object = rw.parseAny(patchList.getOldId());
+ a = object instanceof RevCommit
+ ? Text.forCommit(reader, object)
+ : Text.EMPTY;
}
b = Text.forCommit(reader, bCommit);
diff --git a/gerrit-server/src/test/java/com/google/gerrit/server/query/change/AbstractQueryChangesTest.java b/gerrit-server/src/test/java/com/google/gerrit/server/query/change/AbstractQueryChangesTest.java
index 6b91a12..10afa49 100644
--- a/gerrit-server/src/test/java/com/google/gerrit/server/query/change/AbstractQueryChangesTest.java
+++ b/gerrit-server/src/test/java/com/google/gerrit/server/query/change/AbstractQueryChangesTest.java
@@ -287,6 +287,28 @@
}
@Test
+ public void byStatusDraft() throws Exception {
+ TestRepository<Repo> repo = createProject("repo");
+ ChangeInserter ins1 = newChange(repo, null, null, null, null);
+ Change change1 = ins1.getChange();
+ change1.setStatus(Change.Status.NEW);
+ insert(ins1);
+ ChangeInserter ins2 = newChange(repo, null, null, null, null);
+ Change change2 = ins2.getChange();
+ change2.setStatus(Change.Status.DRAFT);
+ insert(ins2);
+
+ Change[] expected = new Change[] {change2};
+ assertQuery("status:draft", expected);
+ assertQuery("status:DRAFT", expected);
+ assertQuery("status:d", expected);
+ assertQuery("status:dr", expected);
+ assertQuery("status:dra", expected);
+ assertQuery("status:draf", expected);
+ assertQuery("is:draft", expected);
+ }
+
+ @Test
public void byStatusClosed() throws Exception {
TestRepository<Repo> repo = createProject("repo");
ChangeInserter ins1 = newChange(repo, null, null, null, null);
diff --git a/plugins/BUCK b/plugins/BUCK
index a31237d..9948720 100644
--- a/plugins/BUCK
+++ b/plugins/BUCK
@@ -6,6 +6,9 @@
'reviewnotes',
'singleusergroup'
]
+CUSTOM = [
+ # Add custom core plugins here
+]
# buck audit parses and resolves all deps even if not reachable
# from the root(s) passed to audit. Filter dependencies to only
@@ -20,7 +23,7 @@
else:
n.append(p)
return h, n
-HAVE, NEED = core_plugins(CORE)
+HAVE, NEED = core_plugins(CORE + CUSTOM)
genrule(
name = 'core',
diff --git a/tools/maven/BUCK b/tools/maven/BUCK
index 98a7ade..fcd77c0 100644
--- a/tools/maven/BUCK
+++ b/tools/maven/BUCK
@@ -1,12 +1,14 @@
include_defs('//VERSION')
include_defs('//tools/maven/package.defs')
+include_defs('//tools/maven/repository.defs')
-URL = 'https://oss.sonatype.org/content/repositories/snapshots' \
- if GERRIT_VERSION.endswith('-SNAPSHOT') else \
- 'https://oss.sonatype.org/service/local/staging/deploy/maven2'
+if GERRIT_VERSION.endswith('-SNAPSHOT'):
+ URL = MAVEN_SNAPSHOT_URL
+else:
+ URL = MAVEN_RELEASE_URL
maven_package(
- repository = 'sonatype-nexus-staging',
+ repository = MAVEN_REPOSITORY,
url = URL,
version = GERRIT_VERSION,
jar = {
diff --git a/tools/maven/repository.defs b/tools/maven/repository.defs
new file mode 100644
index 0000000..c4e8fbf
--- /dev/null
+++ b/tools/maven/repository.defs
@@ -0,0 +1,3 @@
+MAVEN_REPOSITORY = 'sonatype-nexus-staging'
+MAVEN_SNAPSHOT_URL = 'https://oss.sonatype.org/content/repositories/snapshots'
+MAVEN_RELEASE_URL = 'https://oss.sonatype.org/service/local/staging/deploy/maven2'