)]}'
{
  "commit": "3b02737103c9d47f065f5026efad26c818cbe40a",
  "tree": "37120e30eaa8010f6611accf8fe708cedc208478",
  "parents": [
    "f004a7f1d6bd9eaa6e7a8c8cd9ddae4187bd9994"
  ],
  "author": {
    "name": "Florian Zschocke",
    "email": "florian.zschocke@devolo.de",
    "time": "Fri Nov 18 20:26:06 2016 +0100"
  },
  "committer": {
    "name": "Florian Zschocke",
    "email": "florian.zschocke@devolo.de",
    "time": "Fri Nov 18 20:47:05 2016 +0100"
  },
  "message": "Set \"can admin\" permission on LDAP users and teams correctly\n\nThe canAdmin permission is set on a LDAP user, when the user is listed\nin `realm.ldap.admins` or is a member of a team listed in `realm.ldap.admins`.\nThis leads to inconsistent and surprising behaviour on the EditUser page\nwhen clicking the \"can admin\" checkbox. Also, the \"can admin\" checkbox\nis disabled, but not checked, for teams that are listed as admin teams.\n\nThe new behaviour implemented in this patch makes users and teams from\nLDAP match local ones. That means:\n* LDAP teams that are listed in `realm.ldap.admins` get the canAdmin\n  property set if teams are maintained in LDAP.\n* LDAP users that are listed in `realm.ldap.admins` get the canAdmin\n  property set if teams are maintained in LDAP.\n* LDAP users do not get the canAdmin property set, if they are only a\n  member of a team listed in `realm.ldap.admins`.\n* The `supportsRoleChanges` method for users and teams of the\n  `LdapAuthProvider` unconditially returns false if teams are\n  maintained in LDAP, not only for users and teams listed in\n  `realm.ldap.admins`.\n* Therefore, for all LDAP users and teams the \"can admin\" checkbox\n  is always disabled if teams are maintained in LDAP.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e1dec48fb6b4813f4f003b9e6943346ae3b29f81",
      "old_mode": 33188,
      "old_path": "src/main/java/com/gitblit/auth/LdapAuthProvider.java",
      "new_id": "19fd46325fdd781981d625a5ac3dce6c9495bddf",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gitblit/auth/LdapAuthProvider.java"
    },
    {
      "type": "modify",
      "old_id": "2ade6819283836919a223e66b359324302e950bc",
      "old_mode": 33188,
      "old_path": "src/test/java/com/gitblit/tests/LdapAuthenticationTest.java",
      "new_id": "b7a77fc244b6f06656c15359d56780abbb5e48e8",
      "new_mode": 33188,
      "new_path": "src/test/java/com/gitblit/tests/LdapAuthenticationTest.java"
    },
    {
      "type": "modify",
      "old_id": "7d1e319796c845a20b48a8e10a1f9f4a715c41ed",
      "old_mode": 33188,
      "old_path": "src/test/resources/ldap/users.conf",
      "new_id": "a2390fa96f950f37603670ef619208b8e29622c3",
      "new_mode": 33188,
      "new_path": "src/test/resources/ldap/users.conf"
    }
  ]
}
