)]}'
{
  "commit": "f8b815b8b8e74136d0c1b45ae90bd4f66ba5916f",
  "tree": "07121dd413ae2c99e870e4af5dc6756864f235bb",
  "parents": [
    "9b6c331d6f24db2d0faae016f801effb39a2de2f"
  ],
  "author": {
    "name": "David Ostrovsky",
    "email": "david@ostrovsky.org",
    "time": "Fri Feb 20 07:50:54 2026 +0100"
  },
  "committer": {
    "name": "David Ostrovsky",
    "email": "david@ostrovsky.org",
    "time": "Fri Feb 20 08:08:46 2026 +0100"
  },
  "message": "Add archive servlet integration test\n\nIn change Ic7dc1c8e96e an update of commons-compress from 1.25.0 to\n1.28.0 was attempted as part of a broader WORKSPACE dependency refresh.\n\ncommons-compress 1.28.0 introduces a runtime dependency on\ncommons-io (via org.apache.commons.io.output.CountingOutputStream),\nwhich is used by JGit\u0027s archive implementation\n(org.eclipse.jgit.archive.TarFormat / TgzFormat) when writing\ntar/tgz archives.\n\nGitiles\u0027 Bazel configuration does not automatically pull in Maven\ntransitive dependencies, so commons-io must be declared explicitly.\nThe attempted upgrade initially omitted this dependency, which would\nhave caused runtime failures when serving archive downloads, e.g.:\n\n  /\u003crepo\u003e/+archive/refs/heads/\u003cref\u003e.tar.gz\n\nresulting in:\n\n  java.lang.NoClassDefFoundError:\n    org/apache/commons/io/output/CountingOutputStream\n\nThis issue was identified during code review and corrected before\nsubmission, but the existing test suite did not exercise the archive\nservlet code path and therefore did not detect the breakage.\n\nAdd a servlet-level integration test for the archive endpoint that:\n\n* creates a small in-memory test repository\n* requests a .tar.gz archive via GitilesServlet\n* verifies HTTP 200 response\n* verifies response body is non-empty\n\nThis test executes ArchiveCommand.call() end-to-end and will fail\nwith NoClassDefFoundError if commons-io is missing from the runtime\nclasspath, preventing similar dependency regressions in future\ndependency updates.\n\nChange-Id: Ia9266aa6a6ca63b119e2216d8376ce0382ae6e44\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "89db8c206061d1e2bc539e84eb30e1c39e908965",
      "new_mode": 33188,
      "new_path": "javatests/com/google/gitiles/ArchiveServletTest.java"
    }
  ]
}
