)]}'
{
  "commit": "40040b656299bfafcaa92b12b916f93e8c5aed1d",
  "tree": "8f1cb2271a2593fba058e7a1548a80110d394dac",
  "parents": [
    "a3f9b4f64e52ba1833c3bcb18cf7f05b4d35714e"
  ],
  "author": {
    "name": "Florian Zschocke",
    "email": "florian.zschocke@devolo.de",
    "time": "Tue Nov 29 22:08:50 2016 +0100"
  },
  "committer": {
    "name": "Florian Zschocke",
    "email": "florian.zschocke@devolo.de",
    "time": "Tue Dec 06 15:35:23 2016 +0100"
  },
  "message": "The public key manager can disable writing keys, which hides commands\n\nSome public key mangers may be read-only, i.e. not allow to add or\ndelete keys, or to change the key comment or assigned permissions.\nIn such a case the respective commands should not be available on the\nSSH shell and the SSH Keys panel should also not offer the possibility.\n\nThe `IPublicKeyManager` gets three new methods, modelled after the\n`AuthenticationManager`:\n`supportsWritingKeys`, `supportsCommentChanges` and\n`supportsPermissionChanges`. They return true if a key manager allows for\nkeys to be written or updated.\nFor example the existing `FileKeyManager` will return true for all three\nsince it allows to store and update keys in a file.\nThe new `LdapKeyManager` returns false since it only accesses LDAP and\ncan not add or update any keys in the directory.\nA future key manager might get keys from an LDAP directory but still\nkeep comments and permissions for it in a local copy.\n\nIf writing of keys is not supported:\n* the welcome shell does not suggest adding a key,\n* the `SshKeysDispatcher` does not offer the \"add\", \"remove\", \"comment\" and\n  \"permission\" commands, and\n* the SSH keys panel hides the \"delete\" button in the key list, and the\n  \"Add Key\" form.\n\nThe hiding of the \"Add key\" form is not perfect since the surrounding\ndiv is still shown, but I don\u0027t know how to hide it and it didn\u0027t look\ntoo bad, either.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1e74b2f0306ebba3cef4a988c4792cd60e1bdff4",
      "old_mode": 33188,
      "old_path": "src/main/java/com/gitblit/transport/ssh/IPublicKeyManager.java",
      "new_id": "ffe64f593a50ded56a37f07735cb27225a3cc2a8",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gitblit/transport/ssh/IPublicKeyManager.java"
    },
    {
      "type": "modify",
      "old_id": "9612a96b9314ed7ce0f5df6f490b8d714e70e246",
      "old_mode": 33188,
      "old_path": "src/main/java/com/gitblit/transport/ssh/LdapKeyManager.java",
      "new_id": "6b8f1e45f3366f16bf2e3c748b02d0e2ab911468",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gitblit/transport/ssh/LdapKeyManager.java"
    },
    {
      "type": "modify",
      "old_id": "5a94c9a3f13ffd75e5ec1c21851909416544c076",
      "old_mode": 33188,
      "old_path": "src/main/java/com/gitblit/transport/ssh/SshDaemon.java",
      "new_id": "4fb05f79c58465e73d35b15fdeecfda01c9ffab5",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gitblit/transport/ssh/SshDaemon.java"
    },
    {
      "type": "modify",
      "old_id": "ec6f72914c8601471ea1a1d63288c0680489c33d",
      "old_mode": 33188,
      "old_path": "src/main/java/com/gitblit/transport/ssh/WelcomeShell.java",
      "new_id": "7c407d3659c0a61dcffbdfcb9b355facbbff564c",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gitblit/transport/ssh/WelcomeShell.java"
    },
    {
      "type": "modify",
      "old_id": "da58584c955f457ce9f0bc2091be4cdbbbe0ec4b",
      "old_mode": 33188,
      "old_path": "src/main/java/com/gitblit/transport/ssh/keys/KeysDispatcher.java",
      "new_id": "817a98ffc3eb34b5005b54e1e23a432e9cbd28de",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gitblit/transport/ssh/keys/KeysDispatcher.java"
    },
    {
      "type": "modify",
      "old_id": "15ebd67b74bdf8f256c57920b63963cd57e07fbf",
      "old_mode": 33188,
      "old_path": "src/main/java/com/gitblit/wicket/panels/SshKeysPanel.java",
      "new_id": "4b8787630f830ad7bd081737674edcaa6d41d0be",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gitblit/wicket/panels/SshKeysPanel.java"
    }
  ]
}
