[
  {
    "cmd": [
      "python",
      "-u",
      "RECIPE_MODULE[depot_tools::gitiles]/resources/gerrit_client.py",
      "--json-file",
      "/path/to/tmp/json",
      "--url",
      "https://chromium.googlesource.com/chromium/src/+refs",
      "--format",
      "json"
    ],
    "name": "refs",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@json.output@{@@@",
      "@@@STEP_LOG_LINE@json.output@  \"HEAD\": null, @@@",
      "@@@STEP_LOG_LINE@json.output@  \"refs/heads/A\": null, @@@",
      "@@@STEP_LOG_LINE@json.output@  \"refs/tags/B\": null@@@",
      "@@@STEP_LOG_LINE@json.output@}@@@",
      "@@@STEP_LOG_END@json.output@@@",
      "@@@STEP_LOG_LINE@refs@HEAD@@@",
      "@@@STEP_LOG_LINE@refs@refs/heads/A@@@",
      "@@@STEP_LOG_LINE@refs@refs/tags/B@@@",
      "@@@STEP_LOG_END@refs@@@"
    ]
  },
  {
    "cmd": [
      "python",
      "-u",
      "RECIPE_MODULE[depot_tools::gitiles]/resources/gerrit_client.py",
      "--json-file",
      "/path/to/tmp/json",
      "--url",
      "https://chromium.googlesource.com/chromium/src/+log/HEAD",
      "--format",
      "json",
      "--log-limit",
      "0"
    ],
    "name": "gitiles log: HEAD",
    "~followup_annotations": [
      "@@@STEP_TEXT@<br />3 commits fetched@@@",
      "@@@STEP_LOG_LINE@json.output@{@@@",
      "@@@STEP_LOG_LINE@json.output@  \"log\": [@@@",
      "@@@STEP_LOG_LINE@json.output@    {@@@",
      "@@@STEP_LOG_LINE@json.output@      \"author\": {@@@",
      "@@@STEP_LOG_LINE@json.output@        \"email\": \"fake_HEAD@fake_0.email.com\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"name\": \"fake_HEAD\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"time\": \"Mon Jan 01 00:00:00 2015\"@@@",
      "@@@STEP_LOG_LINE@json.output@      }, @@@",
      "@@@STEP_LOG_LINE@json.output@      \"commit\": \"ef70cb069518e6dc3ff24bfae7f195de5099c377\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"committer\": {@@@",
      "@@@STEP_LOG_LINE@json.output@        \"email\": \"fake_HEAD@fake_0.email.com\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"name\": \"fake_HEAD\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"time\": \"Mon Jan 01 00:00:00 2015\"@@@",
      "@@@STEP_LOG_LINE@json.output@      }, @@@",
      "@@@STEP_LOG_LINE@json.output@      \"message\": \"fake HEAD msg 0\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"parents\": [@@@",
      "@@@STEP_LOG_LINE@json.output@        \"3a19413ba702c51ea545b2332119fc70ce04fc31\"@@@",
      "@@@STEP_LOG_LINE@json.output@      ], @@@",
      "@@@STEP_LOG_LINE@json.output@      \"tree\": \"6f8e56bc2da2832c2842646f1c934b62bf7a4455\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"tree_diff\": [@@@",
      "@@@STEP_LOG_LINE@json.output@        {@@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_id\": \"d2e2c5e403b94bb2cc3926758bc013d44c87e0f7\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_mode\": 33188, @@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_path\": \"a.py\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"old_id\": \"0000000000000000000000000000000000000000\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"old_mode\": 0, @@@",
      "@@@STEP_LOG_LINE@json.output@          \"type\": \"add\"@@@",
      "@@@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@      \"author\": {@@@",
      "@@@STEP_LOG_LINE@json.output@        \"email\": \"fake_HEAD@fake_1.email.com\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"name\": \"fake_HEAD\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"time\": \"Mon Jan 01 00:00:00 2015\"@@@",
      "@@@STEP_LOG_LINE@json.output@      }, @@@",
      "@@@STEP_LOG_LINE@json.output@      \"commit\": \"cfeb6aa9cff926a75a9afcc651e9e4857d378db8\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"committer\": {@@@",
      "@@@STEP_LOG_LINE@json.output@        \"email\": \"fake_HEAD@fake_1.email.com\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"name\": \"fake_HEAD\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"time\": \"Mon Jan 01 00:00:00 2015\"@@@",
      "@@@STEP_LOG_LINE@json.output@      }, @@@",
      "@@@STEP_LOG_LINE@json.output@      \"message\": \"fake HEAD msg 1\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"parents\": [@@@",
      "@@@STEP_LOG_LINE@json.output@        \"9a5e076f2d84aac38715645214dad5dba6bda7e7\"@@@",
      "@@@STEP_LOG_LINE@json.output@      ], @@@",
      "@@@STEP_LOG_LINE@json.output@      \"tree\": \"408c7d029783405d4fce80117d6e3e0c0e2f6dc2\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"tree_diff\": [@@@",
      "@@@STEP_LOG_LINE@json.output@        {@@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_id\": \"c701ac6a56ba7c86a4d482719e8ff568a9233437\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_mode\": 33188, @@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_path\": \"b.py\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"old_id\": \"0000000000000000000000000000000000000000\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"old_mode\": 0, @@@",
      "@@@STEP_LOG_LINE@json.output@          \"type\": \"add\"@@@",
      "@@@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@      \"author\": {@@@",
      "@@@STEP_LOG_LINE@json.output@        \"email\": \"fake_HEAD@fake_2.email.com\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"name\": \"fake_HEAD\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"time\": \"Mon Jan 01 00:00:00 2015\"@@@",
      "@@@STEP_LOG_LINE@json.output@      }, @@@",
      "@@@STEP_LOG_LINE@json.output@      \"commit\": \"711ec6fe0c3dcdde2e03b7a50ecd2dd0836118ee\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"committer\": {@@@",
      "@@@STEP_LOG_LINE@json.output@        \"email\": \"fake_HEAD@fake_2.email.com\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"name\": \"fake_HEAD\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"time\": \"Mon Jan 01 00:00:00 2015\"@@@",
      "@@@STEP_LOG_LINE@json.output@      }, @@@",
      "@@@STEP_LOG_LINE@json.output@      \"message\": \"fake HEAD msg 2\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"parents\": [@@@",
      "@@@STEP_LOG_LINE@json.output@        \"4e7cd3662473db1e96a9d3ed603aa7029359c990\"@@@",
      "@@@STEP_LOG_LINE@json.output@      ], @@@",
      "@@@STEP_LOG_LINE@json.output@      \"tree\": \"7b9f8612f4303728c04d4ae0dd94c51ceda9ef08\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"tree_diff\": [@@@",
      "@@@STEP_LOG_LINE@json.output@        {@@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_id\": \"efafa334b60c589f1cdbdfbdec1347f7f40231cd\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_mode\": 33188, @@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_path\": \"c.py\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"old_id\": \"0000000000000000000000000000000000000000\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"old_mode\": 0, @@@",
      "@@@STEP_LOG_LINE@json.output@          \"type\": \"add\"@@@",
      "@@@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@  \"next\": \"deadbeaf\"@@@",
      "@@@STEP_LOG_LINE@json.output@}@@@",
      "@@@STEP_LOG_END@json.output@@@"
    ]
  },
  {
    "cmd": [
      "python",
      "-u",
      "RECIPE_MODULE[depot_tools::gitiles]/resources/gerrit_client.py",
      "--json-file",
      "/path/to/tmp/json",
      "--url",
      "https://chromium.googlesource.com/chromium/src/+log/HEAD",
      "--format",
      "json",
      "--log-limit",
      "10",
      "--log-start",
      "deadbeaf"
    ],
    "name": "gitiles log: HEAD from deadbeaf",
    "~followup_annotations": [
      "@@@STEP_TEXT@<br />3 commits fetched@@@",
      "@@@STEP_LOG_LINE@json.output@{@@@",
      "@@@STEP_LOG_LINE@json.output@  \"log\": [@@@",
      "@@@STEP_LOG_LINE@json.output@    {@@@",
      "@@@STEP_LOG_LINE@json.output@      \"author\": {@@@",
      "@@@STEP_LOG_LINE@json.output@        \"email\": \"fake_HEAD@fake_0.email.com\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"name\": \"fake_HEAD\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"time\": \"Mon Jan 01 00:00:00 2015\"@@@",
      "@@@STEP_LOG_LINE@json.output@      }, @@@",
      "@@@STEP_LOG_LINE@json.output@      \"commit\": \"ef70cb069518e6dc3ff24bfae7f195de5099c377\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"committer\": {@@@",
      "@@@STEP_LOG_LINE@json.output@        \"email\": \"fake_HEAD@fake_0.email.com\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"name\": \"fake_HEAD\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"time\": \"Mon Jan 01 00:00:00 2015\"@@@",
      "@@@STEP_LOG_LINE@json.output@      }, @@@",
      "@@@STEP_LOG_LINE@json.output@      \"message\": \"fake HEAD msg 0\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"parents\": [@@@",
      "@@@STEP_LOG_LINE@json.output@        \"3a19413ba702c51ea545b2332119fc70ce04fc31\"@@@",
      "@@@STEP_LOG_LINE@json.output@      ], @@@",
      "@@@STEP_LOG_LINE@json.output@      \"tree\": \"6f8e56bc2da2832c2842646f1c934b62bf7a4455\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"tree_diff\": [@@@",
      "@@@STEP_LOG_LINE@json.output@        {@@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_id\": \"d2e2c5e403b94bb2cc3926758bc013d44c87e0f7\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_mode\": 33188, @@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_path\": \"a.py\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"old_id\": \"0000000000000000000000000000000000000000\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"old_mode\": 0, @@@",
      "@@@STEP_LOG_LINE@json.output@          \"type\": \"add\"@@@",
      "@@@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@      \"author\": {@@@",
      "@@@STEP_LOG_LINE@json.output@        \"email\": \"fake_HEAD@fake_1.email.com\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"name\": \"fake_HEAD\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"time\": \"Mon Jan 01 00:00:00 2015\"@@@",
      "@@@STEP_LOG_LINE@json.output@      }, @@@",
      "@@@STEP_LOG_LINE@json.output@      \"commit\": \"cfeb6aa9cff926a75a9afcc651e9e4857d378db8\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"committer\": {@@@",
      "@@@STEP_LOG_LINE@json.output@        \"email\": \"fake_HEAD@fake_1.email.com\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"name\": \"fake_HEAD\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"time\": \"Mon Jan 01 00:00:00 2015\"@@@",
      "@@@STEP_LOG_LINE@json.output@      }, @@@",
      "@@@STEP_LOG_LINE@json.output@      \"message\": \"fake HEAD msg 1\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"parents\": [@@@",
      "@@@STEP_LOG_LINE@json.output@        \"9a5e076f2d84aac38715645214dad5dba6bda7e7\"@@@",
      "@@@STEP_LOG_LINE@json.output@      ], @@@",
      "@@@STEP_LOG_LINE@json.output@      \"tree\": \"408c7d029783405d4fce80117d6e3e0c0e2f6dc2\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"tree_diff\": [@@@",
      "@@@STEP_LOG_LINE@json.output@        {@@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_id\": \"c701ac6a56ba7c86a4d482719e8ff568a9233437\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_mode\": 33188, @@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_path\": \"b.py\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"old_id\": \"0000000000000000000000000000000000000000\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"old_mode\": 0, @@@",
      "@@@STEP_LOG_LINE@json.output@          \"type\": \"add\"@@@",
      "@@@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@      \"author\": {@@@",
      "@@@STEP_LOG_LINE@json.output@        \"email\": \"fake_HEAD@fake_2.email.com\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"name\": \"fake_HEAD\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"time\": \"Mon Jan 01 00:00:00 2015\"@@@",
      "@@@STEP_LOG_LINE@json.output@      }, @@@",
      "@@@STEP_LOG_LINE@json.output@      \"commit\": \"711ec6fe0c3dcdde2e03b7a50ecd2dd0836118ee\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"committer\": {@@@",
      "@@@STEP_LOG_LINE@json.output@        \"email\": \"fake_HEAD@fake_2.email.com\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"name\": \"fake_HEAD\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"time\": \"Mon Jan 01 00:00:00 2015\"@@@",
      "@@@STEP_LOG_LINE@json.output@      }, @@@",
      "@@@STEP_LOG_LINE@json.output@      \"message\": \"fake HEAD msg 2\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"parents\": [@@@",
      "@@@STEP_LOG_LINE@json.output@        \"4e7cd3662473db1e96a9d3ed603aa7029359c990\"@@@",
      "@@@STEP_LOG_LINE@json.output@      ], @@@",
      "@@@STEP_LOG_LINE@json.output@      \"tree\": \"7b9f8612f4303728c04d4ae0dd94c51ceda9ef08\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"tree_diff\": [@@@",
      "@@@STEP_LOG_LINE@json.output@        {@@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_id\": \"efafa334b60c589f1cdbdfbdec1347f7f40231cd\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_mode\": 33188, @@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_path\": \"c.py\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"old_id\": \"0000000000000000000000000000000000000000\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"old_mode\": 0, @@@",
      "@@@STEP_LOG_LINE@json.output@          \"type\": \"add\"@@@",
      "@@@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@@@"
    ]
  },
  {
    "cmd": [
      "python",
      "-u",
      "RECIPE_MODULE[depot_tools::gitiles]/resources/gerrit_client.py",
      "--json-file",
      "/path/to/tmp/json",
      "--url",
      "https://chromium.googlesource.com/chromium/src/+log/refs/heads/A",
      "--format",
      "json",
      "--log-limit",
      "0"
    ],
    "name": "gitiles log: refs/heads/A",
    "~followup_annotations": [
      "@@@STEP_TEXT@<br />3 commits fetched@@@",
      "@@@STEP_LOG_LINE@json.output@{@@@",
      "@@@STEP_LOG_LINE@json.output@  \"log\": [@@@",
      "@@@STEP_LOG_LINE@json.output@    {@@@",
      "@@@STEP_LOG_LINE@json.output@      \"author\": {@@@",
      "@@@STEP_LOG_LINE@json.output@        \"email\": \"fake_A@fake_0.email.com\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"name\": \"fake_A\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"time\": \"Mon Jan 01 00:00:00 2015\"@@@",
      "@@@STEP_LOG_LINE@json.output@      }, @@@",
      "@@@STEP_LOG_LINE@json.output@      \"commit\": \"3e30158f2a7caccb7a9f6632a60011e7a44e1e5c\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"committer\": {@@@",
      "@@@STEP_LOG_LINE@json.output@        \"email\": \"fake_A@fake_0.email.com\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"name\": \"fake_A\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"time\": \"Mon Jan 01 00:00:00 2015\"@@@",
      "@@@STEP_LOG_LINE@json.output@      }, @@@",
      "@@@STEP_LOG_LINE@json.output@      \"message\": \"fake A msg 0\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"parents\": [@@@",
      "@@@STEP_LOG_LINE@json.output@        \"83a7614b3b60951511be50db1b9561daff4bb447\"@@@",
      "@@@STEP_LOG_LINE@json.output@      ], @@@",
      "@@@STEP_LOG_LINE@json.output@      \"tree\": \"1b6412b24ec3add84836c8fdd1af5ac8e35b61d9\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"tree_diff\": [@@@",
      "@@@STEP_LOG_LINE@json.output@        {@@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_id\": \"8bea05ad53680fce6937543f0d98cd48e295b8ff\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_mode\": 33188, @@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_path\": \"a.py\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"old_id\": \"0000000000000000000000000000000000000000\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"old_mode\": 0, @@@",
      "@@@STEP_LOG_LINE@json.output@          \"type\": \"add\"@@@",
      "@@@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@      \"author\": {@@@",
      "@@@STEP_LOG_LINE@json.output@        \"email\": \"fake_A@fake_1.email.com\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"name\": \"fake_A\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"time\": \"Mon Jan 01 00:00:00 2015\"@@@",
      "@@@STEP_LOG_LINE@json.output@      }, @@@",
      "@@@STEP_LOG_LINE@json.output@      \"commit\": \"3380b83c11e029b7291c83c44e7b1ce09d465fd1\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"committer\": {@@@",
      "@@@STEP_LOG_LINE@json.output@        \"email\": \"fake_A@fake_1.email.com\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"name\": \"fake_A\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"time\": \"Mon Jan 01 00:00:00 2015\"@@@",
      "@@@STEP_LOG_LINE@json.output@      }, @@@",
      "@@@STEP_LOG_LINE@json.output@      \"message\": \"fake A msg 1\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"parents\": [@@@",
      "@@@STEP_LOG_LINE@json.output@        \"8675a52c73c701cb0b2c48f5ed4a9058c624e6cd\"@@@",
      "@@@STEP_LOG_LINE@json.output@      ], @@@",
      "@@@STEP_LOG_LINE@json.output@      \"tree\": \"a1b1e6aa501915989b45a95e1224ec2a88655eb3\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"tree_diff\": [@@@",
      "@@@STEP_LOG_LINE@json.output@        {@@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_id\": \"06bc4c79002f278528aaddae4e056a11f58c19ad\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_mode\": 33188, @@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_path\": \"b.py\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"old_id\": \"0000000000000000000000000000000000000000\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"old_mode\": 0, @@@",
      "@@@STEP_LOG_LINE@json.output@          \"type\": \"add\"@@@",
      "@@@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@      \"author\": {@@@",
      "@@@STEP_LOG_LINE@json.output@        \"email\": \"fake_A@fake_2.email.com\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"name\": \"fake_A\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"time\": \"Mon Jan 01 00:00:00 2015\"@@@",
      "@@@STEP_LOG_LINE@json.output@      }, @@@",
      "@@@STEP_LOG_LINE@json.output@      \"commit\": \"363caa907186de786cb5292cd1ab7245da954815\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"committer\": {@@@",
      "@@@STEP_LOG_LINE@json.output@        \"email\": \"fake_A@fake_2.email.com\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"name\": \"fake_A\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"time\": \"Mon Jan 01 00:00:00 2015\"@@@",
      "@@@STEP_LOG_LINE@json.output@      }, @@@",
      "@@@STEP_LOG_LINE@json.output@      \"message\": \"fake A msg 2\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"parents\": [@@@",
      "@@@STEP_LOG_LINE@json.output@        \"255c6325c4c654e17e6b35142e3912c86f1718f2\"@@@",
      "@@@STEP_LOG_LINE@json.output@      ], @@@",
      "@@@STEP_LOG_LINE@json.output@      \"tree\": \"e84d4ad259e69da73d2b842e2b9709f08e8b22bd\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"tree_diff\": [@@@",
      "@@@STEP_LOG_LINE@json.output@        {@@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_id\": \"d7f478bf423219f2f47c1a6ed344fc597a8bf18f\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_mode\": 33188, @@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_path\": \"c.py\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"old_id\": \"0000000000000000000000000000000000000000\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"old_mode\": 0, @@@",
      "@@@STEP_LOG_LINE@json.output@          \"type\": \"add\"@@@",
      "@@@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@@@"
    ]
  },
  {
    "cmd": [
      "python",
      "-u",
      "RECIPE_MODULE[depot_tools::gitiles]/resources/gerrit_client.py",
      "--json-file",
      "/path/to/tmp/json",
      "--url",
      "https://chromium.googlesource.com/chromium/src/+log/refs/tags/B",
      "--format",
      "json",
      "--log-limit",
      "0"
    ],
    "name": "gitiles log: refs/tags/B",
    "~followup_annotations": [
      "@@@STEP_TEXT@<br />3 commits fetched@@@",
      "@@@STEP_LOG_LINE@json.output@{@@@",
      "@@@STEP_LOG_LINE@json.output@  \"log\": [@@@",
      "@@@STEP_LOG_LINE@json.output@    {@@@",
      "@@@STEP_LOG_LINE@json.output@      \"author\": {@@@",
      "@@@STEP_LOG_LINE@json.output@        \"email\": \"fake_B@fake_0.email.com\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"name\": \"fake_B\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"time\": \"Mon Jan 01 00:00:00 2015\"@@@",
      "@@@STEP_LOG_LINE@json.output@      }, @@@",
      "@@@STEP_LOG_LINE@json.output@      \"commit\": \"1cdae70e35c82b8964d4f6b4390c2228f4d8eef6\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"committer\": {@@@",
      "@@@STEP_LOG_LINE@json.output@        \"email\": \"fake_B@fake_0.email.com\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"name\": \"fake_B\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"time\": \"Mon Jan 01 00:00:00 2015\"@@@",
      "@@@STEP_LOG_LINE@json.output@      }, @@@",
      "@@@STEP_LOG_LINE@json.output@      \"message\": \"fake B msg 0\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"parents\": [@@@",
      "@@@STEP_LOG_LINE@json.output@        \"b1ee024dbfc9bcd28d50d3be3bc73998fe458b89\"@@@",
      "@@@STEP_LOG_LINE@json.output@      ], @@@",
      "@@@STEP_LOG_LINE@json.output@      \"tree\": \"57ca8ee46ee26892ee973e8f5a521d0963ec838b\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"tree_diff\": [@@@",
      "@@@STEP_LOG_LINE@json.output@        {@@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_id\": \"fc99080254b81f69e924e94eb161e50dd8921a8c\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_mode\": 33188, @@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_path\": \"a.py\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"old_id\": \"0000000000000000000000000000000000000000\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"old_mode\": 0, @@@",
      "@@@STEP_LOG_LINE@json.output@          \"type\": \"add\"@@@",
      "@@@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@      \"author\": {@@@",
      "@@@STEP_LOG_LINE@json.output@        \"email\": \"fake_B@fake_1.email.com\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"name\": \"fake_B\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"time\": \"Mon Jan 01 00:00:00 2015\"@@@",
      "@@@STEP_LOG_LINE@json.output@      }, @@@",
      "@@@STEP_LOG_LINE@json.output@      \"commit\": \"98bd73cda7f11163b29928fa01f4126fdb9dced2\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"committer\": {@@@",
      "@@@STEP_LOG_LINE@json.output@        \"email\": \"fake_B@fake_1.email.com\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"name\": \"fake_B\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"time\": \"Mon Jan 01 00:00:00 2015\"@@@",
      "@@@STEP_LOG_LINE@json.output@      }, @@@",
      "@@@STEP_LOG_LINE@json.output@      \"message\": \"fake B msg 1\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"parents\": [@@@",
      "@@@STEP_LOG_LINE@json.output@        \"2ec52375078cac3e4aae4e2d4536f5d778b8c59d\"@@@",
      "@@@STEP_LOG_LINE@json.output@      ], @@@",
      "@@@STEP_LOG_LINE@json.output@      \"tree\": \"fc4e6e09f5cb617990adefc35e06b6ca9ff1a2cd\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"tree_diff\": [@@@",
      "@@@STEP_LOG_LINE@json.output@        {@@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_id\": \"0c753dce1642aef73d34fa43c275ce28bf8b080c\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_mode\": 33188, @@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_path\": \"b.py\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"old_id\": \"0000000000000000000000000000000000000000\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"old_mode\": 0, @@@",
      "@@@STEP_LOG_LINE@json.output@          \"type\": \"add\"@@@",
      "@@@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@      \"author\": {@@@",
      "@@@STEP_LOG_LINE@json.output@        \"email\": \"fake_B@fake_2.email.com\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"name\": \"fake_B\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"time\": \"Mon Jan 01 00:00:00 2015\"@@@",
      "@@@STEP_LOG_LINE@json.output@      }, @@@",
      "@@@STEP_LOG_LINE@json.output@      \"commit\": \"181ceb4aa58459721811061ab7f245bbf1353d18\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"committer\": {@@@",
      "@@@STEP_LOG_LINE@json.output@        \"email\": \"fake_B@fake_2.email.com\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"name\": \"fake_B\", @@@",
      "@@@STEP_LOG_LINE@json.output@        \"time\": \"Mon Jan 01 00:00:00 2015\"@@@",
      "@@@STEP_LOG_LINE@json.output@      }, @@@",
      "@@@STEP_LOG_LINE@json.output@      \"message\": \"fake B msg 2\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"parents\": [@@@",
      "@@@STEP_LOG_LINE@json.output@        \"d27272e5f4af1fd21ce52cdfbf442717c66b8e29\"@@@",
      "@@@STEP_LOG_LINE@json.output@      ], @@@",
      "@@@STEP_LOG_LINE@json.output@      \"tree\": \"67835a9642ec8873bb98a6d5657c566750645628\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"tree_diff\": [@@@",
      "@@@STEP_LOG_LINE@json.output@        {@@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_id\": \"00211e92fc08907aa73da401eb2019929581c2f6\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_mode\": 33188, @@@",
      "@@@STEP_LOG_LINE@json.output@          \"new_path\": \"c.py\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"old_id\": \"0000000000000000000000000000000000000000\", @@@",
      "@@@STEP_LOG_LINE@json.output@          \"old_mode\": 0, @@@",
      "@@@STEP_LOG_LINE@json.output@          \"type\": \"add\"@@@",
      "@@@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@@@"
    ]
  },
  {
    "cmd": [
      "python",
      "-u",
      "RECIPE_MODULE[depot_tools::gitiles]/resources/gerrit_client.py",
      "--json-file",
      "/path/to/tmp/json",
      "--url",
      "https://chromium.googlesource.com/chromium/src/+/4015b57a143aec5156fd1444a017a32137a3fd0f",
      "--format",
      "json"
    ],
    "name": "commit log: 4015b57a143aec5156fd1444a017a32137a3fd0f",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@json.output@{@@@",
      "@@@STEP_LOG_LINE@json.output@  \"author\": {@@@",
      "@@@STEP_LOG_LINE@json.output@    \"email\": \"testauthor@fake.chromium.org\", @@@",
      "@@@STEP_LOG_LINE@json.output@    \"name\": \"Test Author\", @@@",
      "@@@STEP_LOG_LINE@json.output@    \"time\": \"Mon Jan 01 00:00:00 2015\"@@@",
      "@@@STEP_LOG_LINE@json.output@  }, @@@",
      "@@@STEP_LOG_LINE@json.output@  \"commit\": \"4015b57a143aec5156fd1444a017a32137a3fd0f\", @@@",
      "@@@STEP_LOG_LINE@json.output@  \"committer\": {@@@",
      "@@@STEP_LOG_LINE@json.output@    \"email\": \"testauthor@fake.chromium.org\", @@@",
      "@@@STEP_LOG_LINE@json.output@    \"name\": \"Test Author\", @@@",
      "@@@STEP_LOG_LINE@json.output@    \"time\": \"Mon Jan 01 00:00:00 2015\"@@@",
      "@@@STEP_LOG_LINE@json.output@  }, @@@",
      "@@@STEP_LOG_LINE@json.output@  \"message\": \"C\", @@@",
      "@@@STEP_LOG_LINE@json.output@  \"parents\": [@@@",
      "@@@STEP_LOG_LINE@json.output@    \"5931bdd37b0ed913d4e1e109480f071f1911f905\"@@@",
      "@@@STEP_LOG_LINE@json.output@  ], @@@",
      "@@@STEP_LOG_LINE@json.output@  \"tree\": \"3a724c49db6131f9d2b30d29838d50eba7a0b6fd\", @@@",
      "@@@STEP_LOG_LINE@json.output@  \"tree_diff\": [@@@",
      "@@@STEP_LOG_LINE@json.output@    {@@@",
      "@@@STEP_LOG_LINE@json.output@      \"new_id\": \"2753b71b932b7d7f3036acf2080c01ba63be0699\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"new_mode\": 33188, @@@",
      "@@@STEP_LOG_LINE@json.output@      \"new_path\": \"foo/bar\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"old_id\": \"0000000000000000000000000000000000000000\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"old_mode\": 0, @@@",
      "@@@STEP_LOG_LINE@json.output@      \"type\": \"add\"@@@",
      "@@@STEP_LOG_LINE@json.output@    }, @@@",
      "@@@STEP_LOG_LINE@json.output@    {@@@",
      "@@@STEP_LOG_LINE@json.output@      \"new_id\": \"2d153d47331ac00be4749024348c8956b3a17bdb\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"new_mode\": 33188, @@@",
      "@@@STEP_LOG_LINE@json.output@      \"new_path\": \"baz/qux\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"old_id\": \"0000000000000000000000000000000000000000\", @@@",
      "@@@STEP_LOG_LINE@json.output@      \"old_mode\": 0, @@@",
      "@@@STEP_LOG_LINE@json.output@      \"type\": \"add\"@@@",
      "@@@STEP_LOG_LINE@json.output@    }@@@",
      "@@@STEP_LOG_LINE@json.output@  ]@@@",
      "@@@STEP_LOG_LINE@json.output@}@@@",
      "@@@STEP_LOG_END@json.output@@@"
    ]
  },
  {
    "cmd": [
      "python",
      "-u",
      "RECIPE_MODULE[depot_tools::gitiles]/resources/gerrit_client.py",
      "--json-file",
      "/path/to/tmp/json",
      "--url",
      "https://chromium.googlesource.com/chromium/src/+/master/OWNERS",
      "--format",
      "text",
      "--attempts",
      "5"
    ],
    "name": "fetch master:OWNERS"
  },
  {
    "cmd": [
      "python",
      "-u",
      "RECIPE_MODULE[depot_tools::gitiles]/resources/gerrit_client.py",
      "--json-file",
      "/path/to/tmp/json",
      "--url",
      "https://chromium.googlesource.com/chromium/src/+/master/NONEXISTENT",
      "--format",
      "text",
      "--attempts",
      "1",
      "--accept-statuses",
      "404"
    ],
    "name": "fetch master:NONEXISTENT"
  },
  {
    "cmd": [
      "python",
      "-u",
      "RECIPE_MODULE[depot_tools::gitiles]/resources/gerrit_client.py",
      "--json-file",
      "/path/to/tmp/json",
      "--url",
      "https://chromium.googlesource.com/chromium/src/+archive/refs/heads/master.tgz",
      "--format",
      "archive",
      "--extract-to",
      "[START_DIR]/archive"
    ],
    "name": "download https://chromium.googlesource.com/chromium/src @ refs/heads/master",
    "~followup_annotations": [
      "@@@STEP_TEXT@<br/>extracted 1337 files - 7.19 MB@@@"
    ]
  },
  {
    "cmd": [
      "python",
      "-u",
      "RECIPE_MODULE[depot_tools::gitiles]/resources/gerrit_client.py",
      "--json-file",
      "/path/to/tmp/json",
      "--url",
      "https://chromium.googlesource.com/chromium/src/+archive/refs/heads/master.tgz",
      "--format",
      "archive",
      "--extract-to",
      "[START_DIR]/archive2"
    ],
    "name": "download https://chromium.googlesource.com/chromium/src @ refs/heads/master (2)",
    "~followup_annotations": [
      "@@@STEP_TEXT@<br/>extracted 10 files - 0.01 MB<br/>SKIPPED 4 files - 7.19 MB@@@",
      "@@@STEP_LOG_LINE@skipped files@/root@@@",
      "@@@STEP_LOG_LINE@skipped files@../relative@@@",
      "@@@STEP_LOG_LINE@skipped files@sneaky/../../relative@@@",
      "@@@STEP_LOG_END@skipped files@@@",
      "@@@STEP_FAILURE@@@"
    ]
  },
  {
    "name": "$result"
  }
]