Merge branch 'stable-3.5' into stable-3.9 * stable-3.5: Use change notes when available to load messages Improve documentation for Search Operators by adding examples Change-Id: I14bb99e7954f1fa6c44e12ea4e1e324bea565b0d
diff --git a/src/main/java/com/googlesource/gerrit/plugins/depends/on/DependsOnOperator.java b/src/main/java/com/googlesource/gerrit/plugins/depends/on/DependsOnOperator.java index 5761248..871fb46 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/depends/on/DependsOnOperator.java +++ b/src/main/java/com/googlesource/gerrit/plugins/depends/on/DependsOnOperator.java
@@ -14,6 +14,7 @@ package com.googlesource.gerrit.plugins.depends.on; +import com.google.gerrit.exceptions.StorageException; import com.google.gerrit.index.query.PostFilterPredicate; import com.google.gerrit.index.query.Predicate; import com.google.gerrit.index.query.QueryParseException; @@ -39,7 +40,12 @@ @Override public boolean match(ChangeData change) { - Set<DependsOn> dependOns = changeMessageStore.load(change.getId()); + Set<DependsOn> dependOns; + try { + dependOns = changeMessageStore.load(change.notes()); + } catch (StorageException e) { + dependOns = changeMessageStore.load(change.getId()); + } List<ChangeNotes> changeNotes = changeNotesFactory.createUsingIndexLookup( dependOns.stream()
diff --git a/src/main/resources/Documentation/change-search-operators.md b/src/main/resources/Documentation/change-search-operators.md index c16c514..b81382b 100644 --- a/src/main/resources/Documentation/change-search-operators.md +++ b/src/main/resources/Documentation/change-search-operators.md
@@ -17,3 +17,107 @@ To use any operator of @PLUGIN@ plugin, change operator aliasing is needed since query parser cannot parse dash(-) in an operator. + +### Execution Notes: + +Assuming two changes, change 1 and change 2, such that change 1 depends on change 2. +The search operators can be used as shown below: + +**in_depends-on:** + +``` +$ ssh -p 29418 user@gerrit.example.com gerrit query "independson:1" --format=JSON + +{ + "project": "my-repo", + "branch": "master", + "id": "I556b2add7ab4b4209f710ebaf886a58282b64c55", + "number": 2, + "subject": "change 2", + "owner": { + "name": "Administrator", + "email": "admin@example.com", + "username": "admin" + }, + "url": "http://gerrit.example.com/c/my-repo/+/21", + "hashtags": [], + "createdOn": 1715754415, + "lastUpdated": 1715754418, + "open": true, + "status": "NEW" +} +{ + "type": "stats", + "rowCount": 1, + "runTimeMilliseconds": 37, + "moreChanges": false +} + + +``` + +**has_depends-on:** + +``` +$ ssh -p 29418 user@gerrit.example.com gerrit query hasdependson:{change:2} --format=JSON + +{ + "project": "my-repo", + "branch": "master", + "id": "I2d4818047fa9c3105636cfde1db6c7975c7da4dc", + "number": 1, + "subject": "change 1", + "owner": { + "name": "Administrator", + "email": "admin@example.com", + "username": "admin" + }, + "url": "http://gerrit.example.com/c/my-repo/+/2", + "hashtags": [], + "createdOn": 1715074377, + "lastUpdated": 1715759836, + "open": true, + "status": "NEW" +} +{ + "type": "stats", + "rowCount": 1, + "runTimeMilliseconds": 151, + "moreChanges": false +} + + +``` + +**has:a_depends-on** + +``` +$ ssh -p 29418 user@gerrit.example.com gerrit query "change:1 has:a_depends-on" --format=JSON + +{ + "project": "my-repo", + "branch": "master", + "id": "I2d4818047fa9c3105636cfde1db6c7975c7da4dc", + "number": 1, + "subject": "change 1", + "owner": { + "name": "Administrator", + "email": "admin@example.com", + "username": "admin" + }, + "url": "http://gerrit.example.com/c/my-repo/+/2", + "hashtags": [], + "createdOn": 1715074377, + "lastUpdated": 1715759836, + "open": true, + "status": "NEW" +} +{ + "type": "stats", + "rowCount": 1, + "runTimeMilliseconds": 35, + "moreChanges": false +} + + +```