)]}'
{
  "commit": "b6f47539cd1a1dafe05ffd6fdc40bce4547c479d",
  "tree": "04f5db704f631223b3ca8706cbd5e8fea3a42484",
  "parents": [
    "d85396ad73ef7ae5e142b76136ee61e0e3286a4f"
  ],
  "author": {
    "name": "Tom",
    "email": "tw201207@gmail.com",
    "time": "Tue Nov 18 00:25:41 2014 +0100"
  },
  "committer": {
    "name": "Tom",
    "email": "tw201207@gmail.com",
    "time": "Wed Nov 19 15:09:16 2014 +0100"
  },
  "message": "Add a blink comparator and pixel difference to image diffs\n\nPixel difference uses CSS mix-blend-mode, which is supported currently\nonly on Firefox \u003e\u003d 32 and on Safari \u003e\u003d 7.1. Implementation is behind a\nJavascript feature test.\n\nFor other browsers, there\u0027s a blink comparator.\n\nCode changes:\n\n* ImageDiffHandler now takes the page it\u0027s used on as argument. We need\n  that to get labels. DOM generated is a\n  little bit different (new controls).\n  \n* Diff pages adapted to new constructor of ImageDiffHandler.\n\n* CSS and Javascript changes implementing the new controls, making use\n  of two new static image resources. Since I felt that the new controls\n  deserved tooltips, I also gave the opacity slider a tooltip: changed\n  to \u003ca\u003e, and slider handle changed from \u003cdiv\u003e to \u003cspan\u003e. CSS ensures\n  everything still displays the same (basically display:inline-block).\n  \n* Supplied messages for English, French, and German for the new\n  tooltips.\n\nTested on IE8, Safari 6.1.6 \u0026 7.1, Chrome 38, FF 33.1 \u0026 FF 3.6.13",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c1b5a30e238f2c4adf53fdc36104ef0a665ce54a",
      "old_mode": 33188,
      "old_path": "src/main/java/com/gitblit/wicket/GitBlitWebApp.properties",
      "new_id": "648ac2a54b51c210635bd0c465aac5cc22020f51",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gitblit/wicket/GitBlitWebApp.properties"
    },
    {
      "type": "modify",
      "old_id": "be36ecd182be51778c0183a9e9ac20bc94a786b4",
      "old_mode": 33188,
      "old_path": "src/main/java/com/gitblit/wicket/GitBlitWebApp_de.properties",
      "new_id": "eca3fd2a7026612816a401f2b1cf2762c09907e6",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gitblit/wicket/GitBlitWebApp_de.properties"
    },
    {
      "type": "modify",
      "old_id": "1318b1d9dd2b507199d4c9ab0a3a7d718f2053d1",
      "old_mode": 33188,
      "old_path": "src/main/java/com/gitblit/wicket/GitBlitWebApp_fr.properties",
      "new_id": "d479b3d66f44beef81664a3217a37c94e44fb596",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gitblit/wicket/GitBlitWebApp_fr.properties"
    },
    {
      "type": "modify",
      "old_id": "71516ec8265b8d675fe8d2b5e4da9eda53172fdb",
      "old_mode": 33188,
      "old_path": "src/main/java/com/gitblit/wicket/pages/BlobDiffPage.java",
      "new_id": "ae737a53285c78a7bf76bdf5c3f42e3e21988511",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gitblit/wicket/pages/BlobDiffPage.java"
    },
    {
      "type": "modify",
      "old_id": "e40af5159c24db8b8c291bcf3407bbd3fc32783c",
      "old_mode": 33188,
      "old_path": "src/main/java/com/gitblit/wicket/pages/CommitDiffPage.java",
      "new_id": "c838dab5500a41bd7e5f6bac19f7fbb6c78a3fbb",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gitblit/wicket/pages/CommitDiffPage.java"
    },
    {
      "type": "modify",
      "old_id": "c0141eba7637070eba3cf2635c90426728913c20",
      "old_mode": 33188,
      "old_path": "src/main/java/com/gitblit/wicket/pages/ComparePage.java",
      "new_id": "62ae7c25c92d6220f2a403bb4be20df28b0883b4",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gitblit/wicket/pages/ComparePage.java"
    },
    {
      "type": "modify",
      "old_id": "52bf13b9d231aadba0c4f03d0c22bc1de07cfb76",
      "old_mode": 33188,
      "old_path": "src/main/java/com/gitblit/wicket/pages/ImageDiffHandler.java",
      "new_id": "dc0c5ae8226656a7d1dbf4659641ca0cc65ae1f1",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gitblit/wicket/pages/ImageDiffHandler.java"
    },
    {
      "type": "modify",
      "old_id": "c98a05a4678ed06d0db36634e2a1bb23398feab3",
      "old_mode": 33188,
      "old_path": "src/main/java/com/gitblit/wicket/pages/scripts/imgdiff.js",
      "new_id": "e993997a88a7be2b887b289e36a2ba4876b7c2ec",
      "new_mode": 33188,
      "new_path": "src/main/java/com/gitblit/wicket/pages/scripts/imgdiff.js"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "da593505a43d81198465f849480de2b38df26a39",
      "new_mode": 33188,
      "new_path": "src/main/resources/blink32.png"
    },
    {
      "type": "modify",
      "old_id": "e0570ceb4017fe999e548d38425e3ec48ff56958",
      "old_mode": 33188,
      "old_path": "src/main/resources/gitblit.css",
      "new_id": "a6cc516c3edde46263e9585c794b0a0dc5545759",
      "new_mode": 33188,
      "new_path": "src/main/resources/gitblit.css"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ebcfe13e83760822c12d22ae6d4e9894766232da",
      "new_mode": 33188,
      "new_path": "src/main/resources/sub32.png"
    }
  ]
}
