)]}'
{
  "commit": "999ef6656f13eeaa0de7f7d880ba6d1937aa60dd",
  "tree": "551a28ab43a34db305ccde3f612c6e471b0a69f6",
  "parents": [
    "b735c8fd7f948e4db34f063c52086b802d095f28"
  ],
  "author": {
    "name": "Christopher Haster",
    "email": "geky@geky.net",
    "time": "Mon Nov 25 15:22:33 2024 -0600"
  },
  "committer": {
    "name": "Christopher Haster",
    "email": "geky@geky.net",
    "time": "Mon Nov 25 15:40:44 2024 -0600"
  },
  "message": "paths: Changed CREAT with a trailing slash to return NOTDIR\n\n- before: lfs_file_open(\"missing/\") \u003d\u003e LFS_ERR_ISDIR\n- after:  lfs_file_open(\"missing/\") \u003d\u003e LFS_ERR_NOTDIR\n\nAs noted by bmcdonnell-fb, returning LFS_ERR_ISDIR here was inconsistent\nwith the case where the file exists:\n\n  case                           before          after\n  lfs_file_open(\"dir_a\")      \u003d\u003e LFS_ERR_ISDIR   LFS_ERR_ISDIR\n  lfs_file_open(\"dir_a/\")     \u003d\u003e LFS_ERR_ISDIR   LFS_ERR_ISDIR\n  lfs_file_open(\"reg_a/\")     \u003d\u003e LFS_ERR_NOTDIR  LFS_ERR_NOTDIR\n  lfs_file_open(\"missing_a/\") \u003d\u003e LFS_ERR_ISDIR   LFS_ERR_NOTDIR\n\nNote this is consistent with the behavior of lfs_stat:\n\n  lfs_file_open(\"reg_a/\") \u003d\u003e LFS_ERR_NOTDIR\n  lfs_stat(\"reg_a/\")      \u003d\u003e LFS_ERR_NOTDIR\n\nAnd the only other function that can \"create\" files, lfs_rename:\n\n  lfs_file_open(\"missing_a/\")       \u003d\u003e LFS_ERR_NOTDIR\n  lfs_rename(\"reg_a\", \"missing_a/\") \u003d\u003e LFS_ERR_NOTDIR\n\nThere is some ongoing discussion about if these should return NOTDIR,\nISDIR, or INVAL, but this is at least an improvement over the\nrename/open mismatch.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "94d23f7b65528b94f94040300d85ff9c63d14a5e",
      "old_mode": 33188,
      "old_path": "lfs.c",
      "new_id": "b46cca5b60902a1f9cef9108e4fc5ec20074ab4d",
      "new_mode": 33188,
      "new_path": "lfs.c"
    },
    {
      "type": "modify",
      "old_id": "d8ae57f9ea7323dcbee5a74fc379ddd6264faa99",
      "old_mode": 33188,
      "old_path": "tests/test_paths.toml",
      "new_id": "29574fa16cf5bc58ec79326a1ca5708a3b94b7d5",
      "new_mode": 33188,
      "new_path": "tests/test_paths.toml"
    }
  ]
}
