)]}'
{
  "commit": "6ebdc418f3c4799c12368e34ea78dc9c9757fb54",
  "tree": "55dcecf2fda5b992c703dea87ef2cea495f6ffe0",
  "parents": [
    "67483ded56f26ced15581d7a87314d776cf5ecb0"
  ],
  "author": {
    "name": "Serge Bazanski",
    "email": "serge@nexantic.com",
    "time": "Fri May 21 16:25:55 2021 +0200"
  },
  "committer": {
    "name": "Sergiusz Bazanski",
    "email": "serge@nexantic.com",
    "time": "Fri May 28 15:53:36 2021 +0000"
  },
  "message": "RFC: build/analysis: add commentwrap\n\nThis adds a Go analyzer which limits the length of comment lines to 80\ncharacters.\n\nRationale:\n\nMonogon currently follows gofmt style. Gofmt in itself is already quite\nopinionated, but one thing it explicitly does not check for is maximum\nline length.\n\nThis implements a limit for the maximum length of a comment line in Go\nsource within Monogon. It explicitly does not limit code line length, as\nthese can be handled much more easily by soft reflows.\n\nThe tool used, github.com/corverroos/commentwrap, will now be\nautomatically ran by our nogo pass, and prevent any line of commnets\nwithin Go to be longer than 80 characters, with the exception of:\n\n - cgo/generate directives\n - TODOs\n - indented comments (eg. sample code or long URLs)\n\nDownsides:\n\n1. We have to reformat the entire codebase. CR/67 does this.\n\n2. We end up with a bulk Git commit that will pollute Git history. A\n   followup CR attempts to resolve this by using Git\u0027s ignoreRevsFile\n   functionality.\n\n3. There\u0027s currently no integration with IntelliJ and no way to\n   automatically reformat code. If this RFC gets approved, a follow up\n   CR will be created that adds integration/automation to make this\n   easier to work against.\n\nOpen questions:\n\n1. Is 80 characters the right limit? I, personally, quite like it, but\n   am willing to compromise on line length.\n\nChange-Id: I063d64596ca5ef038a8426c6b9f806b65c18451e\nReviewed-on: https://review.monogon.dev/c/monogon/+/66\nReviewed-by: Leopold Schabel \u003cleo@nexantic.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "edaefbe2dd9782cfa7fe5b802f0a58631a204a3b",
      "old_mode": 33188,
      "old_path": "build/analysis/BUILD.bazel",
      "new_id": "621e30b2571ea5e9cb1f468cbb0160e683861f6f",
      "new_mode": 33188,
      "new_path": "build/analysis/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "c13baaf142d61fb0db47ded88dec45abfe295083",
      "old_mode": 33188,
      "old_path": "build/analysis/nogo_config.json",
      "new_id": "ae01f0aa77d49d568d69be213e64345f2580fcc7",
      "new_mode": 33188,
      "new_path": "build/analysis/nogo_config.json"
    },
    {
      "type": "modify",
      "old_id": "1345644f9d006eeb397e3f2d8400bc40f2715d0c",
      "old_mode": 33188,
      "old_path": "build/fietsje/main.go",
      "new_id": "50055ab939d87e7be78e8a76c03203411d0b7946",
      "new_mode": 33188,
      "new_path": "build/fietsje/main.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a5bf2cba7945395f0ae0e671a29a4da1c9a686d2",
      "new_mode": 33188,
      "new_path": "third_party/go/patches/commentwrap-tool-library.patch"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "dcee28647985ff892060f09ab3dd3d26b100594e",
      "new_mode": 33188,
      "new_path": "third_party/go/patches/reflow-tool-library.patch"
    },
    {
      "type": "modify",
      "old_id": "f5fd82540f1294917889b3619c77d2cda5a2ebe9",
      "old_mode": 33188,
      "old_path": "third_party/go/repositories.bzl",
      "new_id": "bdb76013f61e182fc797f4a92caebd6f864838cd",
      "new_mode": 33188,
      "new_path": "third_party/go/repositories.bzl"
    },
    {
      "type": "modify",
      "old_id": "64fa40ec0deea2922b35238d68383c0e650a74ed",
      "old_mode": 33188,
      "old_path": "third_party/go/shelf.pb.text",
      "new_id": "f5193852d6b9d89abc855d8423c63b1e351b5ee7",
      "new_mode": 33188,
      "new_path": "third_party/go/shelf.pb.text"
    }
  ]
}
