commit | 5e5544ee5f3ccca08211cf9a427bc8cda0c6badb | [log] [tgz] |
---|---|---|
author | Dave Borowitz <dborowitz@google.com> | Wed Oct 15 07:47:14 2014 -0700 |
committer | Dave Borowitz <dborowitz@google.com> | Wed Oct 15 21:03:34 2014 +0000 |
tree | bcb5c2820ae952e3d62bd23e115eb987c577cd75 | |
parent | fc43b7e9eb895bcef00c7a79820c1c2fca8f8ad9 [diff] |
Provide a useful body when revision parsing is ambiguous Change-Id: I845fef6da5f0e01461f2e4be351a39170196b67b
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/RevisionResource.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/RevisionResource.java index 66d8a75..e58d1a1 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/RevisionResource.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/RevisionResource.java
@@ -95,4 +95,13 @@ Optional<ChangeEdit> getEdit() { return edit; } + + @Override + public String toString() { + String s = ps.getId().toString(); + if (edit.isPresent()) { + s = "edit:" + s; + } + return s; + } }
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/Revisions.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/Revisions.java index ed870c8..08e60ee 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/Revisions.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/Revisions.java
@@ -15,6 +15,7 @@ package com.google.gerrit.server.change; import com.google.common.base.Function; +import com.google.common.base.Joiner; import com.google.common.base.Optional; import com.google.common.collect.FluentIterable; import com.google.common.collect.Lists; @@ -84,10 +85,16 @@ match.add(rsrc); } } - if (match.size() != 1) { - throw new ResourceNotFoundException(id); + switch (match.size()) { + case 0: + throw new ResourceNotFoundException(id); + case 1: + return match.get(0); + default: + throw new ResourceNotFoundException( + "Multiple patch sets for \"" + id.get() + "\": " + + Joiner.on("; ").join(match)); } - return match.get(0); } private boolean visible(ChangeResource change, PatchSet ps)