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 8740a6b75f..e479ba9880 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.ObjectId; 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 @@ public class PatchFile { 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 6b91a12769..10afa4958c 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 @@ -286,6 +286,28 @@ public abstract class AbstractQueryChangesTest extends GerritServerTests { assertQuery("is:open", expected); } + @Test + public void byStatusDraft() throws Exception { + TestRepository 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 = createProject("repo"); diff --git a/plugins/BUCK b/plugins/BUCK index a31237d1e0..9948720a8b 100644 --- a/plugins/BUCK +++ b/plugins/BUCK @@ -6,6 +6,9 @@ CORE = [ '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 @@ def core_plugins(names): 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 98a7ade3a4..fcd77c0d55 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 0000000000..c4e8fbf7d4 --- /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'