checkout: Don't rebase merge commits

Detect merge commits based on how many parents they have and don't
rebase them.

Tested with led:

Original build: http://go/bbid/8824406343025130689.

$ led get-build 8824406343025130689 | led edit-recipe-bundle | led launch
https://ci.chromium.org/swarming/task/5896cb4735774d10?server=chrome-swarming.appspot.com

Change-Id: I8b5f29fe6c9b26ba4bd6332e9a009881db342398
Reviewed-on: https://pigweed-review.googlesource.com/c/infra/recipes/+/80788
Pigweed-Auto-Submit: Rob Mohr <mohrr@google.com>
Reviewed-by: Ted Pudlik <tpudlik@google.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com>
diff --git a/recipe_modules/checkout/api.py b/recipe_modules/checkout/api.py
index c757693..64161fa 100644
--- a/recipe_modules/checkout/api.py
+++ b/recipe_modules/checkout/api.py
@@ -106,6 +106,7 @@
     applied = attr.ib(type=bool, default=False, repr=False)
     base = attr.ib(converter=_str_or_none, default=None)
     base_type = attr.ib(converter=_str_or_none, default=None)
+    is_merge = attr.ib(type=bool, default=False)
 
     @property
     def gerrit_url(self):
@@ -290,23 +291,37 @@
         )
         remote = 'https://{}/{}'.format(host, change.project).strip('/')
         gerrit_name = host.split('.')[0]
-        branch = self.m.gerrit.change_details(
+        details = self.m.gerrit.change_details(
             'details',
             change_id=str(change.change),
             host=change.host,
             max_attempts=5,
+            query_params=['CURRENT_COMMIT', 'CURRENT_REVISION',],
             timeout=30,
-            test_data=self.m.json.test_api.output({'branch': 'main'}),
-        ).json.output['branch']
+            test_data=self.m.json.test_api.output(
+                {
+                    'branch': 'main',
+                    'current_revision': 'f' * 40,
+                    'revisions': {'f' * 40: {'commit': {'parents': [{}],},},},
+                }
+            ),
+        ).json.output
+        branch = details['branch']
 
         rebase = not self._force_no_rebase
 
+        current_revision = details['revisions'][details['current_revision']]
+        is_merge = len(current_revision['commit']['parents']) > 1
+        if is_merge:
+            rebase = False
+
         return _Change(
             number=change.change,
             bb_input=bb_input,
             remote=remote,
             ref=ref,
             rebase=rebase,
+            is_merge=is_merge,
             branch=branch,
             gerrit_name=gerrit_name,
             submitted=False,
diff --git a/recipe_modules/checkout/test_api.py b/recipe_modules/checkout/test_api.py
index 78c73ae..7a3033d 100644
--- a/recipe_modules/checkout/test_api.py
+++ b/recipe_modules/checkout/test_api.py
@@ -141,12 +141,27 @@
             self.m.file.read_text(raw_xml),
         )
 
-    def cl_branch(self, branch, index=0, name='pigweed'):
+    def cl_branch_parents(
+        self, branch='main', num_parents=1, index=0, name='pigweed',
+    ):
         return self.override_step_data(
             'checkout {}.change data.process gerrit changes.{}.details'.format(
                 name, index
             ),
-            self.m.json.output({'branch': branch}),
+            self.m.json.output(
+                {
+                    'branch': branch,
+                    'current_revision': 'f' * 40,
+                    'revisions': {
+                        'f'
+                        * 40: {
+                            'commit': {
+                                'parents': [None for _ in range(num_parents)],
+                            },
+                        },
+                    },
+                }
+            ),
         )
 
     def manifest_has_matching_branch(self, branch, name='pigweed'):
diff --git a/recipe_modules/checkout/tests/git.expected/ci.json b/recipe_modules/checkout/tests/git.expected/ci.json
index 97ed658..cbb62d0 100644
--- a/recipe_modules/checkout/tests/git.expected/ci.json
+++ b/recipe_modules/checkout/tests/git.expected/ci.json
@@ -194,7 +194,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -951,7 +951,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipe_modules/checkout/tests/git.expected/no_props.json b/recipe_modules/checkout/tests/git.expected/no_props.json
index d8529ef..b966671 100644
--- a/recipe_modules/checkout/tests/git.expected/no_props.json
+++ b/recipe_modules/checkout/tests/git.expected/no_props.json
@@ -154,7 +154,7 @@
       "-host",
       "https://pigweed-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"123456\"}",
+      "{\"change_id\": \"123456\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -175,11 +175,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          {}@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://pigweed-review.googlesource.com/q/123456@@@"
@@ -389,7 +405,7 @@
     "name": "checkout.change data.changes.pigweed:123456",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -1280,7 +1296,7 @@
     "name": "checkout.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipe_modules/checkout/tests/git.expected/not_in_gerrit.json b/recipe_modules/checkout/tests/git.expected/not_in_gerrit.json
index 6af23b3..c9f041f 100644
--- a/recipe_modules/checkout/tests/git.expected/not_in_gerrit.json
+++ b/recipe_modules/checkout/tests/git.expected/not_in_gerrit.json
@@ -150,7 +150,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:0",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=0, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=0, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -595,7 +595,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=0, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=0, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipe_modules/checkout/tests/git.expected/other.json b/recipe_modules/checkout/tests/git.expected/other.json
index b8c0726..1208eb5 100644
--- a/recipe_modules/checkout/tests/git.expected/other.json
+++ b/recipe_modules/checkout/tests/git.expected/other.json
@@ -155,7 +155,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -600,7 +600,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipe_modules/checkout/tests/git.expected/try.json b/recipe_modules/checkout/tests/git.expected/try.json
index 19f9ef6..fd7cbd1 100644
--- a/recipe_modules/checkout/tests/git.expected/try.json
+++ b/recipe_modules/checkout/tests/git.expected/try.json
@@ -154,7 +154,7 @@
       "-host",
       "https://pigweed-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"123456\"}",
+      "{\"change_id\": \"123456\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -175,11 +175,28 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          null, @@@",
+      "@@@STEP_LOG_LINE@json.output@          null@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://pigweed-review.googlesource.com/q/123456@@@"
@@ -389,7 +406,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:123456",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=False, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=False, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None, is_merge=True)@@@"
     ]
   },
   {
@@ -1256,7 +1273,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=False, branch='main', gerrit_name='pigweed', submitted=False, base='MERGEBASE_MERGEBASE_MERGEBASE_MERGEBASE_', base_type='merge-base')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=False, branch='main', gerrit_name='pigweed', submitted=False, base='MERGEBASE_MERGEBASE_MERGEBASE_MERGEBASE_', base_type='merge-base', is_merge=True)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipe_modules/checkout/tests/git.py b/recipe_modules/checkout/tests/git.py
index 33fa4b7..c583ba9 100644
--- a/recipe_modules/checkout/tests/git.py
+++ b/recipe_modules/checkout/tests/git.py
@@ -60,8 +60,9 @@
 
     yield (
         api.status_check.test('try')
-        + props(force_no_rebase=True)
+        + props()
         + api.checkout.try_test_data()
+        + api.checkout.cl_branch_parents(num_parents=2)
     )
 
     yield api.status_check.test('no_props') + api.checkout.try_test_data()
diff --git a/recipe_modules/checkout/tests/repo.expected/ci.json b/recipe_modules/checkout/tests/repo.expected/ci.json
index 29b5df5..bab3abc 100644
--- a/recipe_modules/checkout/tests/repo.expected/ci.json
+++ b/recipe_modules/checkout/tests/repo.expected/ci.json
@@ -155,7 +155,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/manifest', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/manifest', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -556,7 +556,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/manifest', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/manifest', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
@@ -735,7 +735,7 @@
     "name": "changes.0",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/manifest', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash')@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/manifest', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash', is_merge=False)@@@"
     ]
   },
   {
diff --git a/recipe_modules/checkout/tests/repo.expected/feature_branches_ci.json b/recipe_modules/checkout/tests/repo.expected/feature_branches_ci.json
index 6a32ee1..ff78bd2 100644
--- a/recipe_modules/checkout/tests/repo.expected/feature_branches_ci.json
+++ b/recipe_modules/checkout/tests/repo.expected/feature_branches_ci.json
@@ -194,7 +194,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pinned', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='feature1', gerrit_name='pigweed', submitted=True, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pinned', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='feature1', gerrit_name='pigweed', submitted=True, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -799,7 +799,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pinned', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='feature1', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pinned', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='feature1', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
@@ -1071,7 +1071,7 @@
     "name": "changes.0",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pinned', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='feature1', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash')@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pinned', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='feature1', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash', is_merge=False)@@@"
     ]
   },
   {
diff --git a/recipe_modules/checkout/tests/repo.expected/feature_branches_try.json b/recipe_modules/checkout/tests/repo.expected/feature_branches_try.json
index 4f3c62a..d494baf 100644
--- a/recipe_modules/checkout/tests/repo.expected/feature_branches_try.json
+++ b/recipe_modules/checkout/tests/repo.expected/feature_branches_try.json
@@ -154,7 +154,7 @@
       "-host",
       "https://pigweed-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"123456\"}",
+      "{\"change_id\": \"123456\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -175,11 +175,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"feature1\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"feature1\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          null@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://pigweed-review.googlesource.com/q/123456@@@"
@@ -389,7 +405,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:123456",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/56/123456/7', rebase=True, branch='feature1', gerrit_name='pigweed', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/56/123456/7', rebase=True, branch='feature1', gerrit_name='pigweed', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -1128,7 +1144,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/56/123456/7', rebase=True, branch='feature1', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/56/123456/7', rebase=True, branch='feature1', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
@@ -1400,7 +1416,7 @@
     "name": "changes.0",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/56/123456/7', rebase=True, branch='feature1', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/56/123456/7', rebase=True, branch='feature1', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)@@@"
     ]
   },
   {
diff --git a/recipe_modules/checkout/tests/repo.expected/feature_branches_try_multiple_features.json b/recipe_modules/checkout/tests/repo.expected/feature_branches_try_multiple_features.json
index 5c650de..b765717 100644
--- a/recipe_modules/checkout/tests/repo.expected/feature_branches_try_multiple_features.json
+++ b/recipe_modules/checkout/tests/repo.expected/feature_branches_try_multiple_features.json
@@ -155,7 +155,7 @@
       "-host",
       "https://pigweed-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"1234\"}",
+      "{\"change_id\": \"1234\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -176,11 +176,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"feature1\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"feature1\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          null@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"1234\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"1234\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://pigweed-review.googlesource.com/q/1234@@@"
@@ -200,7 +216,7 @@
       "-host",
       "https://default-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"2345\"}",
+      "{\"change_id\": \"2345\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -221,11 +237,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"feature2\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"feature2\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          null@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"2345\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"2345\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://default-review.googlesource.com/q/2345@@@"
@@ -435,7 +467,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/34/1234/1', rebase=True, branch='feature1', gerrit_name='pigweed', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/34/1234/1', rebase=True, branch='feature1', gerrit_name='pigweed', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -443,7 +475,7 @@
     "name": "checkout pigweed.change data.changes.default:2345",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=2345, remote='https://default.googlesource.com/default_name', ref='refs/changes/45/2345/1', rebase=True, branch='feature2', gerrit_name='default', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=2345, remote='https://default.googlesource.com/default_name', ref='refs/changes/45/2345/1', rebase=True, branch='feature2', gerrit_name='default', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -1480,7 +1512,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/34/1234/1', rebase=True, branch='feature1', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip'), _Change(number=2345, remote='https://default.googlesource.com/default_name', ref='refs/changes/45/2345/1', rebase=True, branch='feature2', gerrit_name='default', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/34/1234/1', rebase=True, branch='feature1', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False), _Change(number=2345, remote='https://default.googlesource.com/default_name', ref='refs/changes/45/2345/1', rebase=True, branch='feature2', gerrit_name='default', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
@@ -1752,7 +1784,7 @@
     "name": "changes.0",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/34/1234/1', rebase=True, branch='feature1', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/34/1234/1', rebase=True, branch='feature1', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)@@@"
     ]
   },
   {
@@ -1760,7 +1792,7 @@
     "name": "changes.1",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=2345, remote='https://default.googlesource.com/default_name', ref='refs/changes/45/2345/1', rebase=True, branch='feature2', gerrit_name='default', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=2345, remote='https://default.googlesource.com/default_name', ref='refs/changes/45/2345/1', rebase=True, branch='feature2', gerrit_name='default', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)@@@"
     ]
   },
   {
diff --git a/recipe_modules/checkout/tests/repo.expected/feature_branches_try_multiple_matches.json b/recipe_modules/checkout/tests/repo.expected/feature_branches_try_multiple_matches.json
index db25405..323ec61 100644
--- a/recipe_modules/checkout/tests/repo.expected/feature_branches_try_multiple_matches.json
+++ b/recipe_modules/checkout/tests/repo.expected/feature_branches_try_multiple_matches.json
@@ -154,7 +154,7 @@
       "-host",
       "https://pigweed-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"1234\"}",
+      "{\"change_id\": \"1234\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -175,11 +175,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"feature1\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"feature1\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          null@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"1234\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"1234\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://pigweed-review.googlesource.com/q/1234@@@"
@@ -199,7 +215,7 @@
       "-host",
       "https://default-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"2345\"}",
+      "{\"change_id\": \"2345\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -220,11 +236,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"feature2\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"feature2\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          null@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"2345\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"2345\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://default-review.googlesource.com/q/2345@@@"
@@ -434,7 +466,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/34/1234/1', rebase=True, branch='feature1', gerrit_name='pigweed', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/34/1234/1', rebase=True, branch='feature1', gerrit_name='pigweed', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -442,7 +474,7 @@
     "name": "checkout pigweed.change data.changes.default:2345",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=2345, remote='https://default.googlesource.com/default_name', ref='refs/changes/45/2345/1', rebase=True, branch='feature2', gerrit_name='default', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=2345, remote='https://default.googlesource.com/default_name', ref='refs/changes/45/2345/1', rebase=True, branch='feature2', gerrit_name='default', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
diff --git a/recipe_modules/checkout/tests/repo.expected/feature_branches_try_no_matching.json b/recipe_modules/checkout/tests/repo.expected/feature_branches_try_no_matching.json
index 0c6fe80..cddf975 100644
--- a/recipe_modules/checkout/tests/repo.expected/feature_branches_try_no_matching.json
+++ b/recipe_modules/checkout/tests/repo.expected/feature_branches_try_no_matching.json
@@ -155,7 +155,7 @@
       "-host",
       "https://pigweed-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"1234\"}",
+      "{\"change_id\": \"1234\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -176,11 +176,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"feature1\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"feature1\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          null@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"1234\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"1234\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://pigweed-review.googlesource.com/q/1234@@@"
@@ -200,7 +216,7 @@
       "-host",
       "https://default-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"2345\"}",
+      "{\"change_id\": \"2345\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -221,11 +237,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"feature2\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"feature2\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          null@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"2345\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"2345\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://default-review.googlesource.com/q/2345@@@"
@@ -435,7 +467,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/34/1234/1', rebase=True, branch='feature1', gerrit_name='pigweed', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/34/1234/1', rebase=True, branch='feature1', gerrit_name='pigweed', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -443,7 +475,7 @@
     "name": "checkout pigweed.change data.changes.default:2345",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=2345, remote='https://default.googlesource.com/default_name', ref='refs/changes/45/2345/1', rebase=True, branch='feature2', gerrit_name='default', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=2345, remote='https://default.googlesource.com/default_name', ref='refs/changes/45/2345/1', rebase=True, branch='feature2', gerrit_name='default', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -1389,7 +1421,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/34/1234/1', rebase=True, branch='feature1', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip'), _Change(number=2345, remote='https://default.googlesource.com/default_name', ref='refs/changes/45/2345/1', rebase=True, branch='feature2', gerrit_name='default', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/34/1234/1', rebase=True, branch='feature1', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False), _Change(number=2345, remote='https://default.googlesource.com/default_name', ref='refs/changes/45/2345/1', rebase=True, branch='feature2', gerrit_name='default', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
@@ -1661,7 +1693,7 @@
     "name": "changes.0",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/34/1234/1', rebase=True, branch='feature1', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/34/1234/1', rebase=True, branch='feature1', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)@@@"
     ]
   },
   {
@@ -1669,7 +1701,7 @@
     "name": "changes.1",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=2345, remote='https://default.googlesource.com/default_name', ref='refs/changes/45/2345/1', rebase=True, branch='feature2', gerrit_name='default', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=2345, remote='https://default.googlesource.com/default_name', ref='refs/changes/45/2345/1', rebase=True, branch='feature2', gerrit_name='default', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)@@@"
     ]
   },
   {
diff --git a/recipe_modules/checkout/tests/repo.expected/no_trigger.json b/recipe_modules/checkout/tests/repo.expected/no_trigger.json
index 7fc02ee..8fcd56e 100644
--- a/recipe_modules/checkout/tests/repo.expected/no_trigger.json
+++ b/recipe_modules/checkout/tests/repo.expected/no_trigger.json
@@ -155,7 +155,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/manifest', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/manifest', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -556,7 +556,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/manifest', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/manifest', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
@@ -732,7 +732,7 @@
     "name": "changes.0",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/manifest', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash')@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/manifest', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash', is_merge=False)@@@"
     ]
   },
   {
diff --git a/recipe_modules/checkout/tests/repo.expected/prefix.json b/recipe_modules/checkout/tests/repo.expected/prefix.json
index 6a20623..55894c9 100644
--- a/recipe_modules/checkout/tests/repo.expected/prefix.json
+++ b/recipe_modules/checkout/tests/repo.expected/prefix.json
@@ -154,7 +154,7 @@
       "-host",
       "https://foo-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"123456\"}",
+      "{\"change_id\": \"123456\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -175,11 +175,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          {}@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://foo-review.googlesource.com/q/123456@@@"
@@ -389,7 +405,7 @@
     "name": "checkout pigweed.change data.changes.foo:123456",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://foo.googlesource.com/prefix/suffix', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='foo', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://foo.googlesource.com/prefix/suffix', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='foo', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -1075,7 +1091,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=123456, remote='https://foo.googlesource.com/prefix/suffix', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='foo', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=123456, remote='https://foo.googlesource.com/prefix/suffix', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='foo', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
@@ -1347,7 +1363,7 @@
     "name": "changes.0",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://foo.googlesource.com/prefix/suffix', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='foo', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://foo.googlesource.com/prefix/suffix', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='foo', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)@@@"
     ]
   },
   {
diff --git a/recipe_modules/checkout/tests/repo.expected/try-multiple-cqdeps.json b/recipe_modules/checkout/tests/repo.expected/try-multiple-cqdeps.json
index 820523f..9d82800 100644
--- a/recipe_modules/checkout/tests/repo.expected/try-multiple-cqdeps.json
+++ b/recipe_modules/checkout/tests/repo.expected/try-multiple-cqdeps.json
@@ -155,7 +155,7 @@
       "-host",
       "https://pigweed-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"1234\"}",
+      "{\"change_id\": \"1234\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -176,11 +176,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          {}@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"1234\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"1234\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://pigweed-review.googlesource.com/q/1234@@@"
@@ -565,7 +581,7 @@
       "-host",
       "https://default-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"2345\"}",
+      "{\"change_id\": \"2345\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -586,11 +602,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          {}@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"2345\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"2345\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://default-review.googlesource.com/q/2345@@@"
@@ -608,7 +640,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/34/1234/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/34/1234/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -616,7 +648,7 @@
     "name": "checkout pigweed.change data.changes.default:2345",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=2345, remote='https://default.googlesource.com/default_name', ref='refs/changes/45/2345/1', rebase=True, branch='main', gerrit_name='default', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=2345, remote='https://default.googlesource.com/default_name', ref='refs/changes/45/2345/1', rebase=True, branch='main', gerrit_name='default', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -1562,7 +1594,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/34/1234/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip'), _Change(number=2345, remote='https://default.googlesource.com/default_name', ref='refs/changes/45/2345/1', rebase=True, branch='main', gerrit_name='default', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/34/1234/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False), _Change(number=2345, remote='https://default.googlesource.com/default_name', ref='refs/changes/45/2345/1', rebase=True, branch='main', gerrit_name='default', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
@@ -1836,7 +1868,7 @@
     "name": "changes.0",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/34/1234/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/34/1234/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)@@@"
     ]
   },
   {
@@ -1844,7 +1876,7 @@
     "name": "changes.1",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=2345, remote='https://default.googlesource.com/default_name', ref='refs/changes/45/2345/1', rebase=True, branch='main', gerrit_name='default', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=2345, remote='https://default.googlesource.com/default_name', ref='refs/changes/45/2345/1', rebase=True, branch='main', gerrit_name='default', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)@@@"
     ]
   },
   {
diff --git a/recipe_modules/checkout/tests/repo.expected/try-multiple-onenotapplied.json b/recipe_modules/checkout/tests/repo.expected/try-multiple-onenotapplied.json
index b2f3fd1..fa365c2 100644
--- a/recipe_modules/checkout/tests/repo.expected/try-multiple-onenotapplied.json
+++ b/recipe_modules/checkout/tests/repo.expected/try-multiple-onenotapplied.json
@@ -157,7 +157,7 @@
       "-host",
       "https://pigweed-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"1234\"}",
+      "{\"change_id\": \"1234\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -178,11 +178,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          {}@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"1234\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"1234\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://pigweed-review.googlesource.com/q/1234@@@"
@@ -202,7 +218,7 @@
       "-host",
       "https://default-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"2345\"}",
+      "{\"change_id\": \"2345\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -223,11 +239,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          {}@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"2345\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"2345\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://default-review.googlesource.com/q/2345@@@"
@@ -247,7 +279,7 @@
       "-host",
       "https://pigweed-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"3456\"}",
+      "{\"change_id\": \"3456\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -268,11 +300,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          {}@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"3456\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"3456\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://pigweed-review.googlesource.com/q/3456@@@"
@@ -482,7 +530,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/34/1234/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/34/1234/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -490,7 +538,7 @@
     "name": "checkout pigweed.change data.changes.default:2345",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=2345, remote='https://default.googlesource.com/default_name', ref='refs/changes/45/2345/1', rebase=True, branch='main', gerrit_name='default', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=2345, remote='https://default.googlesource.com/default_name', ref='refs/changes/45/2345/1', rebase=True, branch='main', gerrit_name='default', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -498,7 +546,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:3456",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=3456, remote='https://pigweed.googlesource.com/project-that-is-not-in-the-manifest', ref='refs/changes/56/3456/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=3456, remote='https://pigweed.googlesource.com/project-that-is-not-in-the-manifest', ref='refs/changes/56/3456/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -1462,7 +1510,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/34/1234/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip'), _Change(number=2345, remote='https://default.googlesource.com/default_name', ref='refs/changes/45/2345/1', rebase=True, branch='main', gerrit_name='default', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')]\nnot applied [_Change(number=3456, remote='https://pigweed.googlesource.com/project-that-is-not-in-the-manifest', ref='refs/changes/56/3456/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None)]@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/34/1234/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False), _Change(number=2345, remote='https://default.googlesource.com/default_name', ref='refs/changes/45/2345/1', rebase=True, branch='main', gerrit_name='default', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)]\nnot applied [_Change(number=3456, remote='https://pigweed.googlesource.com/project-that-is-not-in-the-manifest', ref='refs/changes/56/3456/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None, is_merge=False)]@@@"
     ]
   },
   {
@@ -1736,7 +1784,7 @@
     "name": "changes.0",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/34/1234/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/34/1234/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)@@@"
     ]
   },
   {
@@ -1744,7 +1792,7 @@
     "name": "changes.1",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=2345, remote='https://default.googlesource.com/default_name', ref='refs/changes/45/2345/1', rebase=True, branch='main', gerrit_name='default', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=2345, remote='https://default.googlesource.com/default_name', ref='refs/changes/45/2345/1', rebase=True, branch='main', gerrit_name='default', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)@@@"
     ]
   },
   {
@@ -1752,7 +1800,7 @@
     "name": "changes.2",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=3456, remote='https://pigweed.googlesource.com/project-that-is-not-in-the-manifest', ref='refs/changes/56/3456/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=3456, remote='https://pigweed.googlesource.com/project-that-is-not-in-the-manifest', ref='refs/changes/56/3456/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
diff --git a/recipe_modules/checkout/tests/repo.expected/try-multiple.json b/recipe_modules/checkout/tests/repo.expected/try-multiple.json
index 28ac01c..4d3eedc 100644
--- a/recipe_modules/checkout/tests/repo.expected/try-multiple.json
+++ b/recipe_modules/checkout/tests/repo.expected/try-multiple.json
@@ -155,7 +155,7 @@
       "-host",
       "https://pigweed-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"1234\"}",
+      "{\"change_id\": \"1234\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -176,11 +176,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          {}@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"1234\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"1234\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://pigweed-review.googlesource.com/q/1234@@@"
@@ -200,7 +216,7 @@
       "-host",
       "https://default-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"2345\"}",
+      "{\"change_id\": \"2345\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -221,11 +237,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          {}@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"2345\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"2345\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://default-review.googlesource.com/q/2345@@@"
@@ -435,7 +467,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/34/1234/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/34/1234/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -443,7 +475,7 @@
     "name": "checkout pigweed.change data.changes.default:2345",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=2345, remote='https://default.googlesource.com/default_name', ref='refs/changes/45/2345/1', rebase=True, branch='main', gerrit_name='default', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=2345, remote='https://default.googlesource.com/default_name', ref='refs/changes/45/2345/1', rebase=True, branch='main', gerrit_name='default', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -1389,7 +1421,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/34/1234/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip'), _Change(number=2345, remote='https://default.googlesource.com/default_name', ref='refs/changes/45/2345/1', rebase=True, branch='main', gerrit_name='default', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/34/1234/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False), _Change(number=2345, remote='https://default.googlesource.com/default_name', ref='refs/changes/45/2345/1', rebase=True, branch='main', gerrit_name='default', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
@@ -1663,7 +1695,7 @@
     "name": "changes.0",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/34/1234/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/34/1234/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)@@@"
     ]
   },
   {
@@ -1671,7 +1703,7 @@
     "name": "changes.1",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=2345, remote='https://default.googlesource.com/default_name', ref='refs/changes/45/2345/1', rebase=True, branch='main', gerrit_name='default', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=2345, remote='https://default.googlesource.com/default_name', ref='refs/changes/45/2345/1', rebase=True, branch='main', gerrit_name='default', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)@@@"
     ]
   },
   {
diff --git a/recipe_modules/checkout/tests/repo.expected/try.json b/recipe_modules/checkout/tests/repo.expected/try.json
index 27e06f1..a2fc480 100644
--- a/recipe_modules/checkout/tests/repo.expected/try.json
+++ b/recipe_modules/checkout/tests/repo.expected/try.json
@@ -154,7 +154,7 @@
       "-host",
       "https://pigweed-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"123456\"}",
+      "{\"change_id\": \"123456\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -175,11 +175,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          {}@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://pigweed-review.googlesource.com/q/123456@@@"
@@ -389,7 +405,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:123456",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -1075,7 +1091,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
@@ -1349,7 +1365,7 @@
     "name": "changes.0",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed_name', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)@@@"
     ]
   },
   {
diff --git a/recipe_modules/checkout/tests/repo.expected/try_manifest.json b/recipe_modules/checkout/tests/repo.expected/try_manifest.json
index 954263d..801d375 100644
--- a/recipe_modules/checkout/tests/repo.expected/try_manifest.json
+++ b/recipe_modules/checkout/tests/repo.expected/try_manifest.json
@@ -154,7 +154,7 @@
       "-host",
       "https://pigweed-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"123456\"}",
+      "{\"change_id\": \"123456\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -175,11 +175,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"feature-not-in-manifest\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"feature-not-in-manifest\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          null@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://pigweed-review.googlesource.com/q/123456@@@"
@@ -389,7 +405,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:123456",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/manifest', ref='refs/changes/56/123456/7', rebase=True, branch='feature-not-in-manifest', gerrit_name='pigweed', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/manifest', ref='refs/changes/56/123456/7', rebase=True, branch='feature-not-in-manifest', gerrit_name='pigweed', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -1145,7 +1161,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/manifest', ref='refs/changes/56/123456/7', rebase=True, branch='feature-not-in-manifest', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/manifest', ref='refs/changes/56/123456/7', rebase=True, branch='feature-not-in-manifest', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
@@ -1419,7 +1435,7 @@
     "name": "changes.0",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/manifest', ref='refs/changes/56/123456/7', rebase=True, branch='feature-not-in-manifest', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/manifest', ref='refs/changes/56/123456/7', rebase=True, branch='feature-not-in-manifest', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)@@@"
     ]
   },
   {
diff --git a/recipe_modules/checkout/tests/repo.expected/try_repo_not_in_manifest.json b/recipe_modules/checkout/tests/repo.expected/try_repo_not_in_manifest.json
index 9721589..883a7b6 100644
--- a/recipe_modules/checkout/tests/repo.expected/try_repo_not_in_manifest.json
+++ b/recipe_modules/checkout/tests/repo.expected/try_repo_not_in_manifest.json
@@ -154,7 +154,7 @@
       "-host",
       "https://foo-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"123456\"}",
+      "{\"change_id\": \"123456\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -175,11 +175,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          {}@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://foo-review.googlesource.com/q/123456@@@"
@@ -389,7 +405,7 @@
     "name": "checkout pigweed.change data.changes.foo:123456",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://foo.googlesource.com/bar', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='foo', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://foo.googlesource.com/bar', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='foo', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
diff --git a/recipe_modules/checkout/tests/repo.py b/recipe_modules/checkout/tests/repo.py
index 165a7ee..f70c6b3 100644
--- a/recipe_modules/checkout/tests/repo.py
+++ b/recipe_modules/checkout/tests/repo.py
@@ -151,7 +151,7 @@
         api.status_check.test('try_manifest')
         + api.properties(**api.checkout.repo_properties())
         + api.checkout.try_test_data(api.checkout.manifest_repo)
-        + api.checkout.cl_branch('feature-not-in-manifest')
+        + api.checkout.cl_branch_parents('feature-not-in-manifest')
         + api.checkout.manifest_test_data()
         + api.checkout.root_files('foo')
         + api.checkout.all_changes_applied()
@@ -161,7 +161,7 @@
         api.status_check.test('feature_branches_try')
         + api.properties(**api.checkout.repo_properties())
         + api.checkout.try_test_data(REPO)
-        + api.checkout.cl_branch('feature1')
+        + api.checkout.cl_branch_parents('feature1')
         + api.checkout.manifest_has_matching_branch('feature1')
         + api.checkout.manifest_test_data()
         + api.checkout.all_changes_applied()
@@ -176,8 +176,8 @@
                 cl('default_name', 2345, name='default'),
             ]
         )
-        + api.checkout.cl_branch('feature1', index=0)
-        + api.checkout.cl_branch('feature2', index=1)
+        + api.checkout.cl_branch_parents('feature1', index=0)
+        + api.checkout.cl_branch_parents('feature2', index=1)
         + api.checkout.manifest_has_matching_branch('feature1')
         + api.checkout.manifest_test_data()
         + api.checkout.all_changes_applied()
@@ -202,8 +202,8 @@
                 cl('default_name', 2345, name='default'),
             ]
         )
-        + api.checkout.cl_branch('feature1', index=0)
-        + api.checkout.cl_branch('feature2', index=1)
+        + api.checkout.cl_branch_parents('feature1', index=0)
+        + api.checkout.cl_branch_parents('feature2', index=1)
         + api.checkout.manifest_has_matching_branch('feature1')
         + api.checkout.manifest_has_matching_branch('feature2')
         + api.checkout.all_changes_applied()
@@ -222,8 +222,8 @@
                 cl('default_name', 2345, name='default'),
             ]
         )
-        + api.checkout.cl_branch('feature1', index=0)
-        + api.checkout.cl_branch('feature2', index=1)
+        + api.checkout.cl_branch_parents('feature1', index=0)
+        + api.checkout.cl_branch_parents('feature2', index=1)
         + api.checkout.manifest_test_data()
         + api.checkout.all_changes_applied()
         + api.post_process(
diff --git a/recipe_modules/checkout/tests/submodule.expected/submodule-ci.json b/recipe_modules/checkout/tests/submodule.expected/submodule-ci.json
index a4fd7e9..9c088bb 100644
--- a/recipe_modules/checkout/tests/submodule.expected/submodule-ci.json
+++ b/recipe_modules/checkout/tests/submodule.expected/submodule-ci.json
@@ -194,7 +194,7 @@
     "name": "checkout pigweed.change data.changes.x:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://x.googlesource.com/b/c/d', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='x', submitted=True, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://x.googlesource.com/b/c/d', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='x', submitted=True, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -1094,7 +1094,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://x.googlesource.com/b/c/d', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='x', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://x.googlesource.com/b/c/d', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='x', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipe_modules/checkout/tests/submodule.expected/submodule-try-equivalent.json b/recipe_modules/checkout/tests/submodule.expected/submodule-try-equivalent.json
index 582d17d..249e172 100644
--- a/recipe_modules/checkout/tests/submodule.expected/submodule-try-equivalent.json
+++ b/recipe_modules/checkout/tests/submodule.expected/submodule-try-equivalent.json
@@ -154,7 +154,7 @@
       "-host",
       "https://z-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"123456\"}",
+      "{\"change_id\": \"123456\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -175,11 +175,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          {}@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://z-review.googlesource.com/q/123456@@@"
@@ -389,7 +405,7 @@
     "name": "checkout pigweed.change data.changes.z:123456",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://z.googlesource.com/foo', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='z', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://z.googlesource.com/foo', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='z', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -1423,7 +1439,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=123456, remote='https://z.googlesource.com/foo', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='z', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=123456, remote='https://z.googlesource.com/foo', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='z', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipe_modules/checkout/tests/submodule.expected/submodule-try-gibberish.json b/recipe_modules/checkout/tests/submodule.expected/submodule-try-gibberish.json
index 27bc64e..374cc19 100644
--- a/recipe_modules/checkout/tests/submodule.expected/submodule-try-gibberish.json
+++ b/recipe_modules/checkout/tests/submodule.expected/submodule-try-gibberish.json
@@ -154,7 +154,7 @@
       "-host",
       "https://x-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"123456\"}",
+      "{\"change_id\": \"123456\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -175,11 +175,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          {}@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://x-review.googlesource.com/q/123456@@@"
@@ -389,7 +405,7 @@
     "name": "checkout pigweed.change data.changes.x:123456",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://x.googlesource.com/baz', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='x', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://x.googlesource.com/baz', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='x', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
diff --git a/recipe_modules/checkout/tests/submodule.expected/submodule-try-multiple-cqdeps.json b/recipe_modules/checkout/tests/submodule.expected/submodule-try-multiple-cqdeps.json
index a162107..539746c 100644
--- a/recipe_modules/checkout/tests/submodule.expected/submodule-try-multiple-cqdeps.json
+++ b/recipe_modules/checkout/tests/submodule.expected/submodule-try-multiple-cqdeps.json
@@ -156,7 +156,7 @@
       "-host",
       "https://x-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"1234\"}",
+      "{\"change_id\": \"1234\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -177,11 +177,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          {}@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"1234\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"1234\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://x-review.googlesource.com/q/1234@@@"
@@ -746,7 +762,7 @@
       "-host",
       "https://x-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"2345\"}",
+      "{\"change_id\": \"2345\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -767,11 +783,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          {}@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"2345\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"2345\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://x-review.googlesource.com/q/2345@@@"
@@ -784,7 +816,7 @@
       "-host",
       "https://pigweed-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"3456\"}",
+      "{\"change_id\": \"3456\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -805,11 +837,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          {}@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"3456\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"3456\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://pigweed-review.googlesource.com/q/3456@@@"
@@ -827,7 +875,7 @@
     "name": "checkout pigweed.change data.changes.x:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://x.googlesource.com/foo', ref='refs/changes/34/1234/1', rebase=True, branch='main', gerrit_name='x', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://x.googlesource.com/foo', ref='refs/changes/34/1234/1', rebase=True, branch='main', gerrit_name='x', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -835,7 +883,7 @@
     "name": "checkout pigweed.change data.changes.x:2345",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=2345, remote='https://x.googlesource.com/bar', ref='refs/changes/45/2345/1', rebase=True, branch='main', gerrit_name='x', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=2345, remote='https://x.googlesource.com/bar', ref='refs/changes/45/2345/1', rebase=True, branch='main', gerrit_name='x', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -843,7 +891,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:3456",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=3456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/3456/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=3456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/3456/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -2381,7 +2429,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://x.googlesource.com/foo', ref='refs/changes/34/1234/1', rebase=True, branch='main', gerrit_name='x', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip'), _Change(number=2345, remote='https://x.googlesource.com/bar', ref='refs/changes/45/2345/1', rebase=True, branch='main', gerrit_name='x', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip'), _Change(number=3456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/3456/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://x.googlesource.com/foo', ref='refs/changes/34/1234/1', rebase=True, branch='main', gerrit_name='x', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False), _Change(number=2345, remote='https://x.googlesource.com/bar', ref='refs/changes/45/2345/1', rebase=True, branch='main', gerrit_name='x', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False), _Change(number=3456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/3456/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipe_modules/checkout/tests/submodule.expected/submodule-try-multiple-one-missing-one-forbidden-cqdeps.json b/recipe_modules/checkout/tests/submodule.expected/submodule-try-multiple-one-missing-one-forbidden-cqdeps.json
index 2c48f03..b07c1bc 100644
--- a/recipe_modules/checkout/tests/submodule.expected/submodule-try-multiple-one-missing-one-forbidden-cqdeps.json
+++ b/recipe_modules/checkout/tests/submodule.expected/submodule-try-multiple-one-missing-one-forbidden-cqdeps.json
@@ -158,7 +158,7 @@
       "-host",
       "https://x-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"1234\"}",
+      "{\"change_id\": \"1234\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -179,11 +179,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          {}@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"1234\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"1234\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://x-review.googlesource.com/q/1234@@@"
@@ -837,7 +853,7 @@
       "-host",
       "https://x-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"2345\"}",
+      "{\"change_id\": \"2345\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -858,11 +874,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          {}@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"2345\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"2345\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://x-review.googlesource.com/q/2345@@@"
@@ -875,7 +907,7 @@
       "-host",
       "https://pigweed-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"3456\"}",
+      "{\"change_id\": \"3456\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -896,11 +928,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          {}@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"3456\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"3456\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://pigweed-review.googlesource.com/q/3456@@@"
@@ -918,7 +966,7 @@
     "name": "checkout pigweed.change data.changes.x:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://x.googlesource.com/foo', ref='refs/changes/34/1234/1', rebase=True, branch='main', gerrit_name='x', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://x.googlesource.com/foo', ref='refs/changes/34/1234/1', rebase=True, branch='main', gerrit_name='x', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -926,7 +974,7 @@
     "name": "checkout pigweed.change data.changes.x:2345",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=2345, remote='https://x.googlesource.com/not-a-submodule', ref='refs/changes/45/2345/1', rebase=True, branch='main', gerrit_name='x', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=2345, remote='https://x.googlesource.com/not-a-submodule', ref='refs/changes/45/2345/1', rebase=True, branch='main', gerrit_name='x', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -934,7 +982,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:3456",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=3456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/3456/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=3456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/3456/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -942,7 +990,7 @@
     "name": "checkout pigweed.change data.changes.forbidden:9999",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=9999, remote=None, ref=None, rebase=None, branch=None, gerrit_name='forbidden', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=9999, remote=None, ref=None, rebase=None, branch=None, gerrit_name='forbidden', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -2256,7 +2304,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://x.googlesource.com/foo', ref='refs/changes/34/1234/1', rebase=True, branch='main', gerrit_name='x', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip'), _Change(number=3456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/3456/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')]\nnot applied [_Change(number=2345, remote='https://x.googlesource.com/not-a-submodule', ref='refs/changes/45/2345/1', rebase=True, branch='main', gerrit_name='x', submitted=False, base=None, base_type=None), _Change(number=9999, remote=None, ref=None, rebase=None, branch=None, gerrit_name='forbidden', submitted=False, base=None, base_type=None)]@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://x.googlesource.com/foo', ref='refs/changes/34/1234/1', rebase=True, branch='main', gerrit_name='x', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False), _Change(number=3456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/3456/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)]\nnot applied [_Change(number=2345, remote='https://x.googlesource.com/not-a-submodule', ref='refs/changes/45/2345/1', rebase=True, branch='main', gerrit_name='x', submitted=False, base=None, base_type=None, is_merge=False), _Change(number=9999, remote=None, ref=None, rebase=None, branch=None, gerrit_name='forbidden', submitted=False, base=None, base_type=None, is_merge=False)]@@@"
     ]
   },
   {
diff --git a/recipe_modules/checkout/tests/submodule.expected/submodule-try-multiple-one-missing.json b/recipe_modules/checkout/tests/submodule.expected/submodule-try-multiple-one-missing.json
index db6d29a..c4b484f 100644
--- a/recipe_modules/checkout/tests/submodule.expected/submodule-try-multiple-one-missing.json
+++ b/recipe_modules/checkout/tests/submodule.expected/submodule-try-multiple-one-missing.json
@@ -157,7 +157,7 @@
       "-host",
       "https://x-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"1234\"}",
+      "{\"change_id\": \"1234\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -178,11 +178,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          {}@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"1234\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"1234\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://x-review.googlesource.com/q/1234@@@"
@@ -202,7 +218,7 @@
       "-host",
       "https://x-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"2345\"}",
+      "{\"change_id\": \"2345\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -223,11 +239,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          {}@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"2345\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"2345\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://x-review.googlesource.com/q/2345@@@"
@@ -247,7 +279,7 @@
       "-host",
       "https://pigweed-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"3456\"}",
+      "{\"change_id\": \"3456\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -268,11 +300,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          {}@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"3456\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"3456\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://pigweed-review.googlesource.com/q/3456@@@"
@@ -482,7 +530,7 @@
     "name": "checkout pigweed.change data.changes.x:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://x.googlesource.com/foo', ref='refs/changes/34/1234/1', rebase=True, branch='main', gerrit_name='x', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://x.googlesource.com/foo', ref='refs/changes/34/1234/1', rebase=True, branch='main', gerrit_name='x', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -490,7 +538,7 @@
     "name": "checkout pigweed.change data.changes.x:2345",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=2345, remote='https://x.googlesource.com/not-a-submodule', ref='refs/changes/45/2345/1', rebase=True, branch='main', gerrit_name='x', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=2345, remote='https://x.googlesource.com/not-a-submodule', ref='refs/changes/45/2345/1', rebase=True, branch='main', gerrit_name='x', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -498,7 +546,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:3456",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=3456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/3456/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=3456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/3456/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -1802,7 +1850,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://x.googlesource.com/foo', ref='refs/changes/34/1234/1', rebase=True, branch='main', gerrit_name='x', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip'), _Change(number=3456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/3456/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')]\nnot applied [_Change(number=2345, remote='https://x.googlesource.com/not-a-submodule', ref='refs/changes/45/2345/1', rebase=True, branch='main', gerrit_name='x', submitted=False, base=None, base_type=None)]@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://x.googlesource.com/foo', ref='refs/changes/34/1234/1', rebase=True, branch='main', gerrit_name='x', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False), _Change(number=3456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/3456/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)]\nnot applied [_Change(number=2345, remote='https://x.googlesource.com/not-a-submodule', ref='refs/changes/45/2345/1', rebase=True, branch='main', gerrit_name='x', submitted=False, base=None, base_type=None, is_merge=False)]@@@"
     ]
   },
   {
diff --git a/recipe_modules/checkout/tests/submodule.expected/submodule-try-multiple.json b/recipe_modules/checkout/tests/submodule.expected/submodule-try-multiple.json
index 42e2aa8..0f15ef0 100644
--- a/recipe_modules/checkout/tests/submodule.expected/submodule-try-multiple.json
+++ b/recipe_modules/checkout/tests/submodule.expected/submodule-try-multiple.json
@@ -156,7 +156,7 @@
       "-host",
       "https://x-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"1234\"}",
+      "{\"change_id\": \"1234\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -177,11 +177,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          {}@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"1234\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"1234\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://x-review.googlesource.com/q/1234@@@"
@@ -201,7 +217,7 @@
       "-host",
       "https://x-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"2345\"}",
+      "{\"change_id\": \"2345\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -222,11 +238,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          {}@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"2345\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"2345\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://x-review.googlesource.com/q/2345@@@"
@@ -246,7 +278,7 @@
       "-host",
       "https://pigweed-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"3456\"}",
+      "{\"change_id\": \"3456\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -267,11 +299,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          {}@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"3456\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"3456\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://pigweed-review.googlesource.com/q/3456@@@"
@@ -481,7 +529,7 @@
     "name": "checkout pigweed.change data.changes.x:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://x.googlesource.com/foo', ref='refs/changes/34/1234/1', rebase=True, branch='main', gerrit_name='x', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://x.googlesource.com/foo', ref='refs/changes/34/1234/1', rebase=True, branch='main', gerrit_name='x', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -489,7 +537,7 @@
     "name": "checkout pigweed.change data.changes.x:2345",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=2345, remote='https://x.googlesource.com/bar', ref='refs/changes/45/2345/1', rebase=True, branch='main', gerrit_name='x', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=2345, remote='https://x.googlesource.com/bar', ref='refs/changes/45/2345/1', rebase=True, branch='main', gerrit_name='x', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -497,7 +545,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:3456",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=3456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/3456/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=3456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/3456/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -2035,7 +2083,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://x.googlesource.com/foo', ref='refs/changes/34/1234/1', rebase=True, branch='main', gerrit_name='x', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip'), _Change(number=2345, remote='https://x.googlesource.com/bar', ref='refs/changes/45/2345/1', rebase=True, branch='main', gerrit_name='x', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip'), _Change(number=3456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/3456/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://x.googlesource.com/foo', ref='refs/changes/34/1234/1', rebase=True, branch='main', gerrit_name='x', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False), _Change(number=2345, remote='https://x.googlesource.com/bar', ref='refs/changes/45/2345/1', rebase=True, branch='main', gerrit_name='x', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False), _Change(number=3456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/3456/1', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipe_modules/checkout/tests/submodule.expected/submodule-try-not-found.json b/recipe_modules/checkout/tests/submodule.expected/submodule-try-not-found.json
index 4162d4c..2b31746 100644
--- a/recipe_modules/checkout/tests/submodule.expected/submodule-try-not-found.json
+++ b/recipe_modules/checkout/tests/submodule.expected/submodule-try-not-found.json
@@ -154,7 +154,7 @@
       "-host",
       "https://x-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"123456\"}",
+      "{\"change_id\": \"123456\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -175,11 +175,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          {}@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://x-review.googlesource.com/q/123456@@@"
@@ -389,7 +405,7 @@
     "name": "checkout pigweed.change data.changes.x:123456",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://x.googlesource.com/xyz', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='x', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://x.googlesource.com/xyz', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='x', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
diff --git a/recipe_modules/checkout/tests/submodule.expected/submodule-try.json b/recipe_modules/checkout/tests/submodule.expected/submodule-try.json
index d3e58cd..4038c47 100644
--- a/recipe_modules/checkout/tests/submodule.expected/submodule-try.json
+++ b/recipe_modules/checkout/tests/submodule.expected/submodule-try.json
@@ -154,7 +154,7 @@
       "-host",
       "https://x-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"123456\"}",
+      "{\"change_id\": \"123456\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -175,11 +175,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          {}@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://x-review.googlesource.com/q/123456@@@"
@@ -389,7 +405,7 @@
     "name": "checkout pigweed.change data.changes.x:123456",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://x.googlesource.com/baz', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='x', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://x.googlesource.com/baz', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='x', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -1423,7 +1439,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=123456, remote='https://x.googlesource.com/baz', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='x', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=123456, remote='https://x.googlesource.com/baz', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='x', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipes/build.expected/basic.json b/recipes/build.expected/basic.json
index 97157ec..68494d7 100644
--- a/recipes/build.expected/basic.json
+++ b/recipes/build.expected/basic.json
@@ -194,7 +194,7 @@
     "name": "checkout.change data.changes.pigweed:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -951,7 +951,7 @@
     "name": "checkout.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipes/docs_builder.expected/docs.json b/recipes/docs_builder.expected/docs.json
index a5f8bd1..e232e85 100644
--- a/recipes/docs_builder.expected/docs.json
+++ b/recipes/docs_builder.expected/docs.json
@@ -155,7 +155,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -600,7 +600,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipes/docs_builder.expected/docs_dry_run.json b/recipes/docs_builder.expected/docs_dry_run.json
index 72a4953..aacd135 100644
--- a/recipes/docs_builder.expected/docs_dry_run.json
+++ b/recipes/docs_builder.expected/docs_dry_run.json
@@ -155,7 +155,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -600,7 +600,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipes/envtest.expected/environment_variables.json b/recipes/envtest.expected/environment_variables.json
index 19896ea..22c3e1e 100644
--- a/recipes/envtest.expected/environment_variables.json
+++ b/recipes/envtest.expected/environment_variables.json
@@ -155,7 +155,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -600,7 +600,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipes/envtest.expected/fail.json b/recipes/envtest.expected/fail.json
index efa46d8..632fd1e 100644
--- a/recipes/envtest.expected/fail.json
+++ b/recipes/envtest.expected/fail.json
@@ -194,7 +194,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -951,7 +951,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipes/envtest.expected/pigweed.json b/recipes/envtest.expected/pigweed.json
index a169d73..56796e7 100644
--- a/recipes/envtest.expected/pigweed.json
+++ b/recipes/envtest.expected/pigweed.json
@@ -194,7 +194,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -951,7 +951,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipes/envtest.expected/windows.json b/recipes/envtest.expected/windows.json
index 2a63b2b..61afe62 100644
--- a/recipes/envtest.expected/windows.json
+++ b/recipes/envtest.expected/windows.json
@@ -194,7 +194,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -951,7 +951,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipes/luci_config.expected/starlark.json b/recipes/luci_config.expected/starlark.json
index 81086ba..49d74ae 100644
--- a/recipes/luci_config.expected/starlark.json
+++ b/recipes/luci_config.expected/starlark.json
@@ -154,7 +154,7 @@
       "-host",
       "https://pigweed-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"123456\"}",
+      "{\"change_id\": \"123456\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -175,11 +175,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          {}@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://pigweed-review.googlesource.com/q/123456@@@"
@@ -389,7 +405,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:123456",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -1280,7 +1296,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipes/pw_presubmit.expected/sign-nobuildid.json b/recipes/pw_presubmit.expected/sign-nobuildid.json
index 0b00729..2eeb5b5 100644
--- a/recipes/pw_presubmit.expected/sign-nobuildid.json
+++ b/recipes/pw_presubmit.expected/sign-nobuildid.json
@@ -194,7 +194,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -951,7 +951,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipes/pw_presubmit.expected/sign.json b/recipes/pw_presubmit.expected/sign.json
index 83b35d5..e7247dc 100644
--- a/recipes/pw_presubmit.expected/sign.json
+++ b/recipes/pw_presubmit.expected/sign.json
@@ -194,7 +194,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -951,7 +951,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipes/pw_presubmit.expected/step.json b/recipes/pw_presubmit.expected/step.json
index 99da784..86f25c3 100644
--- a/recipes/pw_presubmit.expected/step.json
+++ b/recipes/pw_presubmit.expected/step.json
@@ -154,7 +154,7 @@
       "-host",
       "https://pigweed-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"123456\"}",
+      "{\"change_id\": \"123456\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -175,11 +175,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          {}@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://pigweed-review.googlesource.com/q/123456@@@"
@@ -389,7 +405,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:123456",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -1280,7 +1296,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipes/recipes.expected/cq_try.json b/recipes/recipes.expected/cq_try.json
index c85928f..151b3bf 100644
--- a/recipes/recipes.expected/cq_try.json
+++ b/recipes/recipes.expected/cq_try.json
@@ -154,7 +154,7 @@
       "-host",
       "https://pigweed-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"123456\"}",
+      "{\"change_id\": \"123456\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -175,11 +175,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          {}@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://pigweed-review.googlesource.com/q/123456@@@"
@@ -389,7 +405,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:123456",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -1280,7 +1296,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipes/run_script.expected/run_script.json b/recipes/run_script.expected/run_script.json
index f59bc1d..a1b6638 100644
--- a/recipes/run_script.expected/run_script.json
+++ b/recipes/run_script.expected/run_script.json
@@ -155,7 +155,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -600,7 +600,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipes/target_to_cipd.expected/pw-presubmit.json b/recipes/target_to_cipd.expected/pw-presubmit.json
index c730a12..b5d8cb0 100644
--- a/recipes/target_to_cipd.expected/pw-presubmit.json
+++ b/recipes/target_to_cipd.expected/pw-presubmit.json
@@ -155,7 +155,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -600,7 +600,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipes/target_to_cipd.expected/success.json b/recipes/target_to_cipd.expected/success.json
index b98637b..ef4dd37 100644
--- a/recipes/target_to_cipd.expected/success.json
+++ b/recipes/target_to_cipd.expected/success.json
@@ -194,7 +194,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/manifest', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/manifest', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -763,7 +763,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/manifest', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/manifest', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipes/target_to_git.expected/success.json b/recipes/target_to_git.expected/success.json
index 1e10a53..b00abb1 100644
--- a/recipes/target_to_git.expected/success.json
+++ b/recipes/target_to_git.expected/success.json
@@ -194,7 +194,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -951,7 +951,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipes/tokendb_check.expected/addition.json b/recipes/tokendb_check.expected/addition.json
index 2cc9897..8f6e01b 100644
--- a/recipes/tokendb_check.expected/addition.json
+++ b/recipes/tokendb_check.expected/addition.json
@@ -277,7 +277,7 @@
       "-host",
       "https://pigweed-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"123456\"}",
+      "{\"change_id\": \"123456\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -298,11 +298,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          {}@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://pigweed-review.googlesource.com/q/123456@@@"
@@ -512,7 +528,7 @@
     "name": "checkout.change data.changes.pigweed:123456",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -1403,7 +1419,7 @@
     "name": "checkout.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipes/tokendb_check.expected/no-change.json b/recipes/tokendb_check.expected/no-change.json
index 2cc9897..8f6e01b 100644
--- a/recipes/tokendb_check.expected/no-change.json
+++ b/recipes/tokendb_check.expected/no-change.json
@@ -277,7 +277,7 @@
       "-host",
       "https://pigweed-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"123456\"}",
+      "{\"change_id\": \"123456\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -298,11 +298,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          {}@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://pigweed-review.googlesource.com/q/123456@@@"
@@ -512,7 +528,7 @@
     "name": "checkout.change data.changes.pigweed:123456",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -1403,7 +1419,7 @@
     "name": "checkout.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipes/tokendb_check.expected/removal.json b/recipes/tokendb_check.expected/removal.json
index a4feb47..bfca4df 100644
--- a/recipes/tokendb_check.expected/removal.json
+++ b/recipes/tokendb_check.expected/removal.json
@@ -277,7 +277,7 @@
       "-host",
       "https://pigweed-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"123456\"}",
+      "{\"change_id\": \"123456\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -298,11 +298,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          {}@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://pigweed-review.googlesource.com/q/123456@@@"
@@ -512,7 +528,7 @@
     "name": "checkout.change data.changes.pigweed:123456",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -1403,7 +1419,7 @@
     "name": "checkout.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipes/tokendb_updater.expected/dry-run.json b/recipes/tokendb_updater.expected/dry-run.json
index 4916df5..9f5600c 100644
--- a/recipes/tokendb_updater.expected/dry-run.json
+++ b/recipes/tokendb_updater.expected/dry-run.json
@@ -155,7 +155,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -600,7 +600,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipes/tokendb_updater.expected/separate-repo.json b/recipes/tokendb_updater.expected/separate-repo.json
index d4ffd58..f3f7d48 100644
--- a/recipes/tokendb_updater.expected/separate-repo.json
+++ b/recipes/tokendb_updater.expected/separate-repo.json
@@ -155,7 +155,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -600,7 +600,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipes/tokendb_updater.expected/simple.json b/recipes/tokendb_updater.expected/simple.json
index 5d9538f..86ebf6a 100644
--- a/recipes/tokendb_updater.expected/simple.json
+++ b/recipes/tokendb_updater.expected/simple.json
@@ -155,7 +155,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -600,7 +600,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipes/txt_roller.expected/backwards.json b/recipes/txt_roller.expected/backwards.json
index e3aa0ed..164b1b7 100644
--- a/recipes/txt_roller.expected/backwards.json
+++ b/recipes/txt_roller.expected/backwards.json
@@ -605,7 +605,7 @@
     "name": "checkout foo.change data.changes.foo:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://foo.googlesource.com/foo', ref='h3ll0', rebase=False, branch='main', gerrit_name='foo', submitted=True, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://foo.googlesource.com/foo', ref='h3ll0', rebase=False, branch='main', gerrit_name='foo', submitted=True, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -1050,7 +1050,7 @@
     "name": "checkout foo.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://foo.googlesource.com/foo', ref='h3ll0', rebase=False, branch='main', gerrit_name='foo', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://foo.googlesource.com/foo', ref='h3ll0', rebase=False, branch='main', gerrit_name='foo', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipes/txt_roller.expected/no-trigger.json b/recipes/txt_roller.expected/no-trigger.json
index 849f1c4..a3d43e3 100644
--- a/recipes/txt_roller.expected/no-trigger.json
+++ b/recipes/txt_roller.expected/no-trigger.json
@@ -605,7 +605,7 @@
     "name": "checkout foo.change data.changes.foo:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://foo.googlesource.com/foo', ref='h3ll0', rebase=False, branch='main', gerrit_name='foo', submitted=True, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://foo.googlesource.com/foo', ref='h3ll0', rebase=False, branch='main', gerrit_name='foo', submitted=True, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -1050,7 +1050,7 @@
     "name": "checkout foo.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://foo.googlesource.com/foo', ref='h3ll0', rebase=False, branch='main', gerrit_name='foo', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://foo.googlesource.com/foo', ref='h3ll0', rebase=False, branch='main', gerrit_name='foo', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipes/txt_roller.expected/success.json b/recipes/txt_roller.expected/success.json
index b0c6977..6e5a929 100644
--- a/recipes/txt_roller.expected/success.json
+++ b/recipes/txt_roller.expected/success.json
@@ -956,7 +956,7 @@
     "name": "checkout foo.change data.changes.foo:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://foo.googlesource.com/foo', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='foo', submitted=True, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://foo.googlesource.com/foo', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='foo', submitted=True, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -1713,7 +1713,7 @@
     "name": "checkout foo.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://foo.googlesource.com/foo', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='foo', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://foo.googlesource.com/foo', ref='2d72510e447ab60a9728aeea2362d8be2cbd7789', rebase=False, branch='main', gerrit_name='foo', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipes/update_python_versions.expected/simple.json b/recipes/update_python_versions.expected/simple.json
index 3447923..0dbc6b6 100644
--- a/recipes/update_python_versions.expected/simple.json
+++ b/recipes/update_python_versions.expected/simple.json
@@ -155,7 +155,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -600,7 +600,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipes/xrefs.expected/dry_run.json b/recipes/xrefs.expected/dry_run.json
index 605fe9d..b486cb3 100644
--- a/recipes/xrefs.expected/dry_run.json
+++ b/recipes/xrefs.expected/dry_run.json
@@ -155,7 +155,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -600,7 +600,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipes/xrefs.expected/kythe.json b/recipes/xrefs.expected/kythe.json
index 6bb769c..2d2c13b 100644
--- a/recipes/xrefs.expected/kythe.json
+++ b/recipes/xrefs.expected/kythe.json
@@ -155,7 +155,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:1234",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -600,7 +600,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=1234, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='h3ll0', rebase=False, branch='main', gerrit_name='pigweed', submitted=True, base='HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_HEAD_', base_type='submitted_commit_hash', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {
diff --git a/recipes/xrefs.expected/tryjob.json b/recipes/xrefs.expected/tryjob.json
index 791247d..b65a27b 100644
--- a/recipes/xrefs.expected/tryjob.json
+++ b/recipes/xrefs.expected/tryjob.json
@@ -154,7 +154,7 @@
       "-host",
       "https://pigweed-review.googlesource.com",
       "-input",
-      "{\"change_id\": \"123456\"}",
+      "{\"change_id\": \"123456\", \"params\": {\"o\": [\"CURRENT_COMMIT\", \"CURRENT_REVISION\"]}}",
       "-output",
       "/path/to/tmp/json"
     ],
@@ -175,11 +175,27 @@
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@4@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
-      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\"@@@",
+      "@@@STEP_LOG_LINE@json.output@  \"branch\": \"main\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"current_revision\": \"ffffffffffffffffffffffffffffffffffffffff\", @@@",
+      "@@@STEP_LOG_LINE@json.output@  \"revisions\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@    \"ffffffffffffffffffffffffffffffffffffffff\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"commit\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"parents\": [@@@",
+      "@@@STEP_LOG_LINE@json.output@          {}@@@",
+      "@@@STEP_LOG_LINE@json.output@        ]@@@",
+      "@@@STEP_LOG_LINE@json.output@      }@@@",
+      "@@@STEP_LOG_LINE@json.output@    }@@@",
+      "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
       "@@@STEP_LOG_END@json.output@@@",
       "@@@STEP_LOG_LINE@json.input@{@@@",
-      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\"@@@",
+      "@@@STEP_LOG_LINE@json.input@  \"change_id\": \"123456\", @@@",
+      "@@@STEP_LOG_LINE@json.input@  \"params\": {@@@",
+      "@@@STEP_LOG_LINE@json.input@    \"o\": [@@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_COMMIT\", @@@",
+      "@@@STEP_LOG_LINE@json.input@      \"CURRENT_REVISION\"@@@",
+      "@@@STEP_LOG_LINE@json.input@    ]@@@",
+      "@@@STEP_LOG_LINE@json.input@  }@@@",
       "@@@STEP_LOG_LINE@json.input@}@@@",
       "@@@STEP_LOG_END@json.input@@@",
       "@@@STEP_LINK@gerrit link@https://pigweed-review.googlesource.com/q/123456@@@"
@@ -389,7 +405,7 @@
     "name": "checkout pigweed.change data.changes.pigweed:123456",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@3@@@",
-      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None)@@@"
+      "@@@STEP_SUMMARY_TEXT@_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base=None, base_type=None, is_merge=False)@@@"
     ]
   },
   {
@@ -1280,7 +1296,7 @@
     "name": "checkout pigweed.status",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
-      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip')]\nnot applied []@@@"
+      "@@@STEP_SUMMARY_TEXT@applied [_Change(number=123456, remote='https://pigweed.googlesource.com/pigweed/pigweed', ref='refs/changes/56/123456/7', rebase=True, branch='main', gerrit_name='pigweed', submitted=False, base='REMOTE_BRANCH_REMOTE_BRANCH_REMOTE_BRANCH_', base_type='remote_branch_tip', is_merge=False)]\nnot applied []@@@"
     ]
   },
   {