diff options
Diffstat (limited to 'gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/RefNames.java')
-rw-r--r-- | gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/RefNames.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/RefNames.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/RefNames.java index 89de9dcd64..16896aab96 100644 --- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/RefNames.java +++ b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/RefNames.java @@ -101,11 +101,32 @@ public class RefNames { return ref; } + /** + * Whether the ref is managed by Gerrit. Covers all Gerrit-internal refs like refs/cache-automerge + * and refs/meta as well as refs/changes. Does not cover user-created refs like branches or custom + * ref namespaces like refs/my-company. + */ + public static boolean isGerritRef(String ref) { + return ref.startsWith(REFS_CHANGES) + || ref.startsWith(REFS_EXTERNAL_IDS) + || ref.startsWith(REFS_CACHE_AUTOMERGE) + || ref.startsWith(REFS_DRAFT_COMMENTS) + || ref.startsWith(REFS_SEQUENCES) + || ref.startsWith(REFS_USERS) + || ref.startsWith(REFS_STARRED_CHANGES) + || ref.startsWith(REFS_REJECT_COMMITS); + } + public static String changeMetaRef(Change.Id id) { StringBuilder r = newStringBuilder().append(REFS_CHANGES); return shard(id.get(), r).append(META_SUFFIX).toString(); } + public static String patchSetRef(PatchSet.Id id) { + StringBuilder r = newStringBuilder().append(REFS_CHANGES); + return shard(id.changeId.get(), r).append('/').append(id.get()).toString(); + } + public static String robotCommentsRef(Change.Id id) { StringBuilder r = newStringBuilder().append(REFS_CHANGES); return shard(id.get(), r).append(ROBOT_COMMENTS_SUFFIX).toString(); |