aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--git-bug-8-ls.json710
-rwxr-xr-xgitlab2todosrht.py47
-rw-r--r--is.json14
-rw-r--r--issues.json2177
-rwxr-xr-x[-rw-r--r--]post-commit2
5 files changed, 2949 insertions, 1 deletions
diff --git a/git-bug-8-ls.json b/git-bug-8-ls.json
new file mode 100644
index 0000000..4ef7b0e
--- /dev/null
+++ b/git-bug-8-ls.json
@@ -0,0 +1,710 @@
+[
+ {
+ "id": "0849ffb82e8c5b178c95d28ab43d3ce13dc682caf1eb945082e04e5dbb1a1e8c",
+ "human_id": "0849ffb",
+ "create_time": {
+ "timestamp": 1481900047,
+ "time": "2016-12-16T15:54:07+01:00",
+ "lamport": 2
+ },
+ "edit_time": {
+ "timestamp": 1481900051,
+ "time": "2016-12-16T15:54:11+01:00",
+ "lamport": 3
+ },
+ "status": "closed",
+ "labels": null,
+ "title": "change the project’s website to https://fedorahosted.org/json_diff/",
+ "actors": [
+ {
+ "id": "558ebf49822ce0cb261af2b4c5c59427b91b66ef6d23472b915ff0737e35da84",
+ "human_id": "558ebf4",
+ "name": "Matěj Cepl",
+ "login": "mcepl"
+ }
+ ],
+ "participants": [
+ {
+ "id": "558ebf49822ce0cb261af2b4c5c59427b91b66ef6d23472b915ff0737e35da84",
+ "human_id": "558ebf4",
+ "name": "Matěj Cepl",
+ "login": "mcepl"
+ }
+ ],
+ "author": {
+ "id": "558ebf49822ce0cb261af2b4c5c59427b91b66ef6d23472b915ff0737e35da84",
+ "human_id": "558ebf4",
+ "name": "Matěj Cepl",
+ "login": "mcepl"
+ },
+ "comments": 2,
+ "metadata": {
+ "gitlab-base-url": "https://gitlab.com/",
+ "gitlab-id": "1",
+ "gitlab-project-id": "2174499",
+ "gitlab-url": "https://gitlab.com/mcepl/json_diff/-/issues/1",
+ "origin": "gitlab"
+ }
+ },
+ {
+ "id": "e783b2d59680d65d1b8915dc5cc3d802ae6c853fd7d611ec875bd000311f7592",
+ "human_id": "e783b2d",
+ "create_time": {
+ "timestamp": 1481900058,
+ "time": "2016-12-16T15:54:18+01:00",
+ "lamport": 3
+ },
+ "edit_time": {
+ "timestamp": 1481900062,
+ "time": "2016-12-16T15:54:22+01:00",
+ "lamport": 5
+ },
+ "status": "closed",
+ "labels": null,
+ "title": "encoding again",
+ "actors": [
+ {
+ "id": "558ebf49822ce0cb261af2b4c5c59427b91b66ef6d23472b915ff0737e35da84",
+ "human_id": "558ebf4",
+ "name": "Matěj Cepl",
+ "login": "mcepl"
+ }
+ ],
+ "participants": [
+ {
+ "id": "558ebf49822ce0cb261af2b4c5c59427b91b66ef6d23472b915ff0737e35da84",
+ "human_id": "558ebf4",
+ "name": "Matěj Cepl",
+ "login": "mcepl"
+ }
+ ],
+ "author": {
+ "id": "558ebf49822ce0cb261af2b4c5c59427b91b66ef6d23472b915ff0737e35da84",
+ "human_id": "558ebf4",
+ "name": "Matěj Cepl",
+ "login": "mcepl"
+ },
+ "comments": 2,
+ "metadata": {
+ "gitlab-base-url": "https://gitlab.com/",
+ "gitlab-id": "2",
+ "gitlab-project-id": "2174499",
+ "gitlab-url": "https://gitlab.com/mcepl/json_diff/-/issues/2",
+ "origin": "gitlab"
+ }
+ },
+ {
+ "id": "bb9a079fa1bc65c661c81be0557d1c8b7cdd682ed1b5488a6417f41c3167ca33",
+ "human_id": "bb9a079",
+ "create_time": {
+ "timestamp": 1481900064,
+ "time": "2016-12-16T15:54:24+01:00",
+ "lamport": 4
+ },
+ "edit_time": {
+ "timestamp": 1481900066,
+ "time": "2016-12-16T15:54:26+01:00",
+ "lamport": 7
+ },
+ "status": "open",
+ "labels": null,
+ "title": "test_large_recursive_file files",
+ "actors": [
+ {
+ "id": "558ebf49822ce0cb261af2b4c5c59427b91b66ef6d23472b915ff0737e35da84",
+ "human_id": "558ebf4",
+ "name": "Matěj Cepl",
+ "login": "mcepl"
+ }
+ ],
+ "participants": [
+ {
+ "id": "558ebf49822ce0cb261af2b4c5c59427b91b66ef6d23472b915ff0737e35da84",
+ "human_id": "558ebf4",
+ "name": "Matěj Cepl",
+ "login": "mcepl"
+ }
+ ],
+ "author": {
+ "id": "558ebf49822ce0cb261af2b4c5c59427b91b66ef6d23472b915ff0737e35da84",
+ "human_id": "558ebf4",
+ "name": "Matěj Cepl",
+ "login": "mcepl"
+ },
+ "comments": 2,
+ "metadata": {
+ "gitlab-base-url": "https://gitlab.com/",
+ "gitlab-id": "3",
+ "gitlab-project-id": "2174499",
+ "gitlab-url": "https://gitlab.com/mcepl/json_diff/-/issues/3",
+ "origin": "gitlab"
+ }
+ },
+ {
+ "id": "8be0959792e401056bb622642785247b323ac4da31e19039866e8c81beb2ef51",
+ "human_id": "8be0959",
+ "create_time": {
+ "timestamp": 1481900068,
+ "time": "2016-12-16T15:54:28+01:00",
+ "lamport": 5
+ },
+ "edit_time": {
+ "timestamp": 1481900071,
+ "time": "2016-12-16T15:54:31+01:00",
+ "lamport": 9
+ },
+ "status": "closed",
+ "labels": null,
+ "title": "Add output option",
+ "actors": [
+ {
+ "id": "558ebf49822ce0cb261af2b4c5c59427b91b66ef6d23472b915ff0737e35da84",
+ "human_id": "558ebf4",
+ "name": "Matěj Cepl",
+ "login": "mcepl"
+ }
+ ],
+ "participants": [
+ {
+ "id": "558ebf49822ce0cb261af2b4c5c59427b91b66ef6d23472b915ff0737e35da84",
+ "human_id": "558ebf4",
+ "name": "Matěj Cepl",
+ "login": "mcepl"
+ }
+ ],
+ "author": {
+ "id": "558ebf49822ce0cb261af2b4c5c59427b91b66ef6d23472b915ff0737e35da84",
+ "human_id": "558ebf4",
+ "name": "Matěj Cepl",
+ "login": "mcepl"
+ },
+ "comments": 2,
+ "metadata": {
+ "gitlab-base-url": "https://gitlab.com/",
+ "gitlab-id": "4",
+ "gitlab-project-id": "2174499",
+ "gitlab-url": "https://gitlab.com/mcepl/json_diff/-/issues/4",
+ "origin": "gitlab"
+ }
+ },
+ {
+ "id": "b82d29fd115a2171311e3ca13059a15737185b3ee6b4f4020fb343a7b6156ae0",
+ "human_id": "b82d29f",
+ "create_time": {
+ "timestamp": 1484311620,
+ "time": "2017-01-13T13:47:00+01:00",
+ "lamport": 6
+ },
+ "edit_time": {
+ "timestamp": 1484311623,
+ "time": "2017-01-13T13:47:03+01:00",
+ "lamport": 11
+ },
+ "status": "closed",
+ "labels": null,
+ "title": "change the project’s website to https://fedorahosted.org/json_diff/",
+ "actors": [
+ {
+ "id": "558ebf49822ce0cb261af2b4c5c59427b91b66ef6d23472b915ff0737e35da84",
+ "human_id": "558ebf4",
+ "name": "Matěj Cepl",
+ "login": "mcepl"
+ }
+ ],
+ "participants": [
+ {
+ "id": "558ebf49822ce0cb261af2b4c5c59427b91b66ef6d23472b915ff0737e35da84",
+ "human_id": "558ebf4",
+ "name": "Matěj Cepl",
+ "login": "mcepl"
+ }
+ ],
+ "author": {
+ "id": "558ebf49822ce0cb261af2b4c5c59427b91b66ef6d23472b915ff0737e35da84",
+ "human_id": "558ebf4",
+ "name": "Matěj Cepl",
+ "login": "mcepl"
+ },
+ "comments": 2,
+ "metadata": {
+ "gitlab-base-url": "https://gitlab.com/",
+ "gitlab-id": "5",
+ "gitlab-project-id": "2174499",
+ "gitlab-url": "https://gitlab.com/mcepl/json_diff/-/issues/5",
+ "origin": "gitlab"
+ }
+ },
+ {
+ "id": "fdfe888713acde0bd90eb5034a694c5b3c90f70f7e9ba15f6b08057e98199ec4",
+ "human_id": "fdfe888",
+ "create_time": {
+ "timestamp": 1484311625,
+ "time": "2017-01-13T13:47:05+01:00",
+ "lamport": 7
+ },
+ "edit_time": {
+ "timestamp": 1484311628,
+ "time": "2017-01-13T13:47:08+01:00",
+ "lamport": 13
+ },
+ "status": "closed",
+ "labels": null,
+ "title": "encoding again",
+ "actors": [
+ {
+ "id": "558ebf49822ce0cb261af2b4c5c59427b91b66ef6d23472b915ff0737e35da84",
+ "human_id": "558ebf4",
+ "name": "Matěj Cepl",
+ "login": "mcepl"
+ }
+ ],
+ "participants": [
+ {
+ "id": "558ebf49822ce0cb261af2b4c5c59427b91b66ef6d23472b915ff0737e35da84",
+ "human_id": "558ebf4",
+ "name": "Matěj Cepl",
+ "login": "mcepl"
+ }
+ ],
+ "author": {
+ "id": "558ebf49822ce0cb261af2b4c5c59427b91b66ef6d23472b915ff0737e35da84",
+ "human_id": "558ebf4",
+ "name": "Matěj Cepl",
+ "login": "mcepl"
+ },
+ "comments": 2,
+ "metadata": {
+ "gitlab-base-url": "https://gitlab.com/",
+ "gitlab-id": "6",
+ "gitlab-project-id": "2174499",
+ "gitlab-url": "https://gitlab.com/mcepl/json_diff/-/issues/6",
+ "origin": "gitlab"
+ }
+ },
+ {
+ "id": "0d4297fed7364aab8e486c62cec9c497fdfad40bc0903a9d5d29cec31723f715",
+ "human_id": "0d4297f",
+ "create_time": {
+ "timestamp": 1484311630,
+ "time": "2017-01-13T13:47:10+01:00",
+ "lamport": 8
+ },
+ "edit_time": {
+ "timestamp": 1484311847,
+ "time": "2017-01-13T13:50:47+01:00",
+ "lamport": 15
+ },
+ "status": "closed",
+ "labels": null,
+ "title": "test_large_recursive_file files",
+ "actors": [
+ {
+ "id": "558ebf49822ce0cb261af2b4c5c59427b91b66ef6d23472b915ff0737e35da84",
+ "human_id": "558ebf4",
+ "name": "Matěj Cepl",
+ "login": "mcepl"
+ }
+ ],
+ "participants": [
+ {
+ "id": "558ebf49822ce0cb261af2b4c5c59427b91b66ef6d23472b915ff0737e35da84",
+ "human_id": "558ebf4",
+ "name": "Matěj Cepl",
+ "login": "mcepl"
+ }
+ ],
+ "author": {
+ "id": "558ebf49822ce0cb261af2b4c5c59427b91b66ef6d23472b915ff0737e35da84",
+ "human_id": "558ebf4",
+ "name": "Matěj Cepl",
+ "login": "mcepl"
+ },
+ "comments": 3,
+ "metadata": {
+ "gitlab-base-url": "https://gitlab.com/",
+ "gitlab-id": "7",
+ "gitlab-project-id": "2174499",
+ "gitlab-url": "https://gitlab.com/mcepl/json_diff/-/issues/7",
+ "origin": "gitlab"
+ }
+ },
+ {
+ "id": "eb946ab3f032e08822f3ce93f03d7d1521e8c10a11b85803c236eb70b7e17304",
+ "human_id": "eb946ab",
+ "create_time": {
+ "timestamp": 1484311634,
+ "time": "2017-01-13T13:47:14+01:00",
+ "lamport": 9
+ },
+ "edit_time": {
+ "timestamp": 1484311637,
+ "time": "2017-01-13T13:47:17+01:00",
+ "lamport": 17
+ },
+ "status": "closed",
+ "labels": null,
+ "title": "Add output option",
+ "actors": [
+ {
+ "id": "558ebf49822ce0cb261af2b4c5c59427b91b66ef6d23472b915ff0737e35da84",
+ "human_id": "558ebf4",
+ "name": "Matěj Cepl",
+ "login": "mcepl"
+ }
+ ],
+ "participants": [
+ {
+ "id": "558ebf49822ce0cb261af2b4c5c59427b91b66ef6d23472b915ff0737e35da84",
+ "human_id": "558ebf4",
+ "name": "Matěj Cepl",
+ "login": "mcepl"
+ }
+ ],
+ "author": {
+ "id": "558ebf49822ce0cb261af2b4c5c59427b91b66ef6d23472b915ff0737e35da84",
+ "human_id": "558ebf4",
+ "name": "Matěj Cepl",
+ "login": "mcepl"
+ },
+ "comments": 2,
+ "metadata": {
+ "gitlab-base-url": "https://gitlab.com/",
+ "gitlab-id": "8",
+ "gitlab-project-id": "2174499",
+ "gitlab-url": "https://gitlab.com/mcepl/json_diff/-/issues/8",
+ "origin": "gitlab"
+ }
+ },
+ {
+ "id": "d383731bc7cfdfc8051cb48029c248f25cf85d8a293191ebbeae8fc4c22be02f",
+ "human_id": "d383731",
+ "create_time": {
+ "timestamp": 1549418260,
+ "time": "2019-02-06T02:57:40+01:00",
+ "lamport": 10
+ },
+ "edit_time": {
+ "timestamp": 1584641654,
+ "time": "2020-03-19T19:14:14+01:00",
+ "lamport": 21
+ },
+ "status": "open",
+ "labels": [
+ "needinfo"
+ ],
+ "title": "JSON is not required to be a dictionary",
+ "actors": [
+ {
+ "id": "3f60136878ff1b7441701a219205f8a988485a189dffc5fe9ac1c941565c5349",
+ "human_id": "3f60136",
+ "name": "Elliott Sales de Andrade",
+ "login": "QuLogic"
+ },
+ {
+ "id": "558ebf49822ce0cb261af2b4c5c59427b91b66ef6d23472b915ff0737e35da84",
+ "human_id": "558ebf4",
+ "name": "Matěj Cepl",
+ "login": "mcepl"
+ },
+ {
+ "id": "357b1a742283a30267d56792b0cd1ef7d54fa7670e45831d611bf33e4dc21204",
+ "human_id": "357b1a7",
+ "name": "Stuart Axon",
+ "login": "stuaxo"
+ }
+ ],
+ "participants": [
+ {
+ "id": "3f60136878ff1b7441701a219205f8a988485a189dffc5fe9ac1c941565c5349",
+ "human_id": "3f60136",
+ "name": "Elliott Sales de Andrade",
+ "login": "QuLogic"
+ },
+ {
+ "id": "558ebf49822ce0cb261af2b4c5c59427b91b66ef6d23472b915ff0737e35da84",
+ "human_id": "558ebf4",
+ "name": "Matěj Cepl",
+ "login": "mcepl"
+ },
+ {
+ "id": "357b1a742283a30267d56792b0cd1ef7d54fa7670e45831d611bf33e4dc21204",
+ "human_id": "357b1a7",
+ "name": "Stuart Axon",
+ "login": "stuaxo"
+ }
+ ],
+ "author": {
+ "id": "3f60136878ff1b7441701a219205f8a988485a189dffc5fe9ac1c941565c5349",
+ "human_id": "3f60136",
+ "name": "Elliott Sales de Andrade",
+ "login": "QuLogic"
+ },
+ "comments": 4,
+ "metadata": {
+ "gitlab-base-url": "https://gitlab.com/",
+ "gitlab-id": "9",
+ "gitlab-project-id": "2174499",
+ "gitlab-url": "https://gitlab.com/mcepl/json_diff/-/issues/9",
+ "origin": "gitlab"
+ }
+ },
+ {
+ "id": "4f458d1ae89afd87c578922d65ef11ce0e856c3dbca95909838fcfb73e63c45f",
+ "human_id": "4f458d1",
+ "create_time": {
+ "timestamp": 1566764440,
+ "time": "2019-08-25T22:20:40+02:00",
+ "lamport": 11
+ },
+ "edit_time": {
+ "timestamp": 1621415234,
+ "time": "2021-05-19T11:07:14+02:00",
+ "lamport": 23
+ },
+ "status": "open",
+ "labels": null,
+ "title": "HTMLFormatter doesn’t keep order of elements",
+ "actors": [
+ {
+ "id": "558ebf49822ce0cb261af2b4c5c59427b91b66ef6d23472b915ff0737e35da84",
+ "human_id": "558ebf4",
+ "name": "Matěj Cepl",
+ "login": "mcepl"
+ },
+ {
+ "id": "d9d669ba81c9c201221a93ce910ed1da2736f6edae3da394635862e37d0343a2",
+ "human_id": "d9d669b",
+ "name": "Francois",
+ "login": "Chartier"
+ }
+ ],
+ "participants": [
+ {
+ "id": "558ebf49822ce0cb261af2b4c5c59427b91b66ef6d23472b915ff0737e35da84",
+ "human_id": "558ebf4",
+ "name": "Matěj Cepl",
+ "login": "mcepl"
+ },
+ {
+ "id": "d9d669ba81c9c201221a93ce910ed1da2736f6edae3da394635862e37d0343a2",
+ "human_id": "d9d669b",
+ "name": "Francois",
+ "login": "Chartier"
+ }
+ ],
+ "author": {
+ "id": "558ebf49822ce0cb261af2b4c5c59427b91b66ef6d23472b915ff0737e35da84",
+ "human_id": "558ebf4",
+ "name": "Matěj Cepl",
+ "login": "mcepl"
+ },
+ "comments": 2,
+ "metadata": {
+ "gitlab-base-url": "https://gitlab.com/",
+ "gitlab-id": "10",
+ "gitlab-project-id": "2174499",
+ "gitlab-url": "https://gitlab.com/mcepl/json_diff/-/issues/10",
+ "origin": "gitlab"
+ }
+ },
+ {
+ "id": "b79c98935ca209bbbadb9dc0e8695290447d48e59bbc4d4ebf39b6dfd2132979",
+ "human_id": "b79c989",
+ "create_time": {
+ "timestamp": 1570374539,
+ "time": "2019-10-06T17:08:59+02:00",
+ "lamport": 12
+ },
+ "edit_time": {
+ "timestamp": 1570374539,
+ "time": "2019-10-06T17:08:59+02:00",
+ "lamport": 24
+ },
+ "status": "open",
+ "labels": null,
+ "title": "Please describe output formats in readme",
+ "actors": [
+ {
+ "id": "1b266d7523700b69f96d81b92384420061bd722c830826068fdf71dbaf9cdcc5",
+ "human_id": "1b266d7",
+ "name": "Hartmut Goebel",
+ "login": "htgoebel"
+ }
+ ],
+ "participants": [
+ {
+ "id": "1b266d7523700b69f96d81b92384420061bd722c830826068fdf71dbaf9cdcc5",
+ "human_id": "1b266d7",
+ "name": "Hartmut Goebel",
+ "login": "htgoebel"
+ }
+ ],
+ "author": {
+ "id": "1b266d7523700b69f96d81b92384420061bd722c830826068fdf71dbaf9cdcc5",
+ "human_id": "1b266d7",
+ "name": "Hartmut Goebel",
+ "login": "htgoebel"
+ },
+ "comments": 1,
+ "metadata": {
+ "gitlab-base-url": "https://gitlab.com/",
+ "gitlab-id": "11",
+ "gitlab-project-id": "2174499",
+ "gitlab-url": "https://gitlab.com/mcepl/json_diff/-/issues/11",
+ "origin": "gitlab"
+ }
+ },
+ {
+ "id": "ae162b00960ef30fdb4e5f57729fbae87375bf2b12a29e33034d47611330ed93",
+ "human_id": "ae162b0",
+ "create_time": {
+ "timestamp": 1588786515,
+ "time": "2020-05-06T19:35:15+02:00",
+ "lamport": 13
+ },
+ "edit_time": {
+ "timestamp": 1588786797,
+ "time": "2020-05-06T19:39:57+02:00",
+ "lamport": 26
+ },
+ "status": "open",
+ "labels": null,
+ "title": "pip install errors on Linux container - the file open call in setup.py should explicitly specify encoding.",
+ "actors": [
+ {
+ "id": "d1130df259ba39af3a914c6e39cc5b6ed044d8de7e07c8322cf8ccd128124ef4",
+ "human_id": "d1130df",
+ "name": "Vik Nag",
+ "login": "trivicks"
+ }
+ ],
+ "participants": [
+ {
+ "id": "d1130df259ba39af3a914c6e39cc5b6ed044d8de7e07c8322cf8ccd128124ef4",
+ "human_id": "d1130df",
+ "name": "Vik Nag",
+ "login": "trivicks"
+ }
+ ],
+ "author": {
+ "id": "d1130df259ba39af3a914c6e39cc5b6ed044d8de7e07c8322cf8ccd128124ef4",
+ "human_id": "d1130df",
+ "name": "Vik Nag",
+ "login": "trivicks"
+ },
+ "comments": 1,
+ "metadata": {
+ "gitlab-base-url": "https://gitlab.com/",
+ "gitlab-id": "12",
+ "gitlab-project-id": "2174499",
+ "gitlab-url": "https://gitlab.com/mcepl/json_diff/-/issues/12",
+ "origin": "gitlab"
+ }
+ },
+ {
+ "id": "b75084d3bb5e08bea9111105bb3b340eadb332835b88efdcb38dc1439f9b5b0d",
+ "human_id": "b75084d",
+ "create_time": {
+ "timestamp": 1621415844,
+ "time": "2021-05-19T11:17:24+02:00",
+ "lamport": 14
+ },
+ "edit_time": {
+ "timestamp": 1621607143,
+ "time": "2021-05-21T16:25:43+02:00",
+ "lamport": 28
+ },
+ "status": "open",
+ "labels": null,
+ "title": "Recursion depth error when processing null element with main",
+ "actors": [
+ {
+ "id": "d9d669ba81c9c201221a93ce910ed1da2736f6edae3da394635862e37d0343a2",
+ "human_id": "d9d669b",
+ "name": "Francois",
+ "login": "Chartier"
+ },
+ {
+ "id": "558ebf49822ce0cb261af2b4c5c59427b91b66ef6d23472b915ff0737e35da84",
+ "human_id": "558ebf4",
+ "name": "Matěj Cepl",
+ "login": "mcepl"
+ }
+ ],
+ "participants": [
+ {
+ "id": "d9d669ba81c9c201221a93ce910ed1da2736f6edae3da394635862e37d0343a2",
+ "human_id": "d9d669b",
+ "name": "Francois",
+ "login": "Chartier"
+ },
+ {
+ "id": "558ebf49822ce0cb261af2b4c5c59427b91b66ef6d23472b915ff0737e35da84",
+ "human_id": "558ebf4",
+ "name": "Matěj Cepl",
+ "login": "mcepl"
+ }
+ ],
+ "author": {
+ "id": "d9d669ba81c9c201221a93ce910ed1da2736f6edae3da394635862e37d0343a2",
+ "human_id": "d9d669b",
+ "name": "Francois",
+ "login": "Chartier"
+ },
+ "comments": 2,
+ "metadata": {
+ "gitlab-base-url": "https://gitlab.com/",
+ "gitlab-id": "13",
+ "gitlab-project-id": "2174499",
+ "gitlab-url": "https://gitlab.com/mcepl/json_diff/-/issues/13",
+ "origin": "gitlab"
+ }
+ },
+ {
+ "id": "60b9c4e317c0761f4408836ef14d0eca44820d32efba50eaf9c34b1d826f74b1",
+ "human_id": "60b9c4e",
+ "create_time": {
+ "timestamp": 1668180754,
+ "time": "2022-11-11T16:32:34+01:00",
+ "lamport": 15
+ },
+ "edit_time": {
+ "timestamp": 1668182551,
+ "time": "2022-11-11T17:02:31+01:00",
+ "lamport": 30
+ },
+ "status": "open",
+ "labels": null,
+ "title": "cannot process UTF-8 files ('charmap' codec can't decode byte 0x81 in position 2071: character maps to \u003cundefined\u003e)",
+ "actors": [
+ {
+ "id": "a255ca4929bd3e8291ecae16f90e12224ece000d82f537a8db7039894419178f",
+ "human_id": "a255ca4",
+ "name": "Tomáš Hudziec",
+ "login": "freetomik"
+ }
+ ],
+ "participants": [
+ {
+ "id": "a255ca4929bd3e8291ecae16f90e12224ece000d82f537a8db7039894419178f",
+ "human_id": "a255ca4",
+ "name": "Tomáš Hudziec",
+ "login": "freetomik"
+ }
+ ],
+ "author": {
+ "id": "a255ca4929bd3e8291ecae16f90e12224ece000d82f537a8db7039894419178f",
+ "human_id": "a255ca4",
+ "name": "Tomáš Hudziec",
+ "login": "freetomik"
+ },
+ "comments": 3,
+ "metadata": {
+ "gitlab-base-url": "https://gitlab.com/",
+ "gitlab-id": "14",
+ "gitlab-project-id": "2174499",
+ "gitlab-url": "https://gitlab.com/mcepl/json_diff/-/issues/14",
+ "origin": "gitlab"
+ }
+ }
+]
diff --git a/gitlab2todosrht.py b/gitlab2todosrht.py
new file mode 100755
index 0000000..8a90160
--- /dev/null
+++ b/gitlab2todosrht.py
@@ -0,0 +1,47 @@
+#!/usr/bin/python3
+
+import json
+import os.path
+import pprint
+import smtplib
+import sys
+
+if len(sys.argv) < 2:
+ print(f"sys.argv: {sys.argv}")
+ sys.exit(1)
+
+out = {}
+
+INP = sys.argv[1]
+if not os.path.exists(INP):
+ sys.exit(2)
+
+with open(INP) as inf:
+ input = sorted(json.load(inf), key=lambda item: item['iid'])
+
+for issue in input:
+ id = issue['iid']
+ out[id] = {
+ 'title': issue['title'],
+ 'desc': issue['description'],
+ 'status': issue['state'],
+ 'comments': []
+ }
+ for note in issue['notes']:
+ out[id]['comments'].append({
+ 'text': note['note']
+ })
+
+fromaddr="mcepl@cepl.eu"
+toaddrs=('~mcepl/json_diff@todo.sr.ht',)
+
+with smtplib.SMTP('redcrew.org', port=587) as smtp:
+ smtp.starttls()
+ smtp.login(fromaddr, "]fJTTIuHF7zunkNd")
+ for key, iss in out.items():
+ msg = ("From: %s\r\nTo: %s\r\n\r\n"
+ % (fromaddr, ", ".join(toaddrs)))
+ if iss['desc'] is not None:
+ msg += iss['desc']
+
+ smtp.sendmail("mcepl@cepl.eu", "~mcepl/json_diff@todo.sr.ht",msg)
diff --git a/is.json b/is.json
new file mode 100644
index 0000000..6b70618
--- /dev/null
+++ b/is.json
@@ -0,0 +1,14 @@
+{"title":"Add output option","author_id":53909,"project_id":2174499,"created_at":"2017-01-13T12:47:14.323Z","updated_at":"2018-06-25T03:50:17.723Z","description":"json_diff -o filename may be helpful in some QA scripts.","iid":8,"updated_by_id":null,"weight":null,"confidential":false,"due_date":null,"lock_version":1,"time_estimate":0,"relative_position":1073742323,"last_edited_at":null,"last_edited_by_id":null,"discussion_locked":null,"closed_at":null,"closed_by_id":null,"health_status":null,"external_key":null,"state":"closed","events":[],"timelogs":[],"notes":[{"note":"Fixed in [2229c24]","noteable_type":"Issue","author_id":53909,"created_at":"2017-01-13T12:47:17.702Z","updated_at":"2017-01-13T12:47:17.702Z","project_id":2174499,"attachment":{"url":null},"line_code":null,"commit_id":null,"st_diff":null,"system":false,"updated_by_id":null,"type":null,"position":null,"original_position":null,"resolved_at":null,"resolved_by_id":null,"discussion_id":"d9679cd0ae4a6f98d37882270f6bbed9aad84e67","change_position":null,"resolved_by_push":null,"confidential":null,"last_edited_at":"2017-01-13T12:47:17.702Z","author":{"name":"Matěj Cepl"},"award_emoji":[],"events":[]},{"note":"closed","noteable_type":"Issue","author_id":53909,"created_at":"2017-01-13T12:47:15.780Z","updated_at":"2017-01-13T12:47:15.780Z","project_id":2174499,"attachment":{"url":null},"line_code":null,"commit_id":null,"st_diff":null,"system":true,"updated_by_id":null,"type":null,"position":null,"original_position":null,"resolved_at":null,"resolved_by_id":null,"discussion_id":"d9679cd0ae4a6f98d37882270f6bbed9aad84e67","change_position":null,"resolved_by_push":null,"confidential":null,"last_edited_at":"2017-01-13T12:47:15.780Z","author":{"name":"Matěj Cepl"},"award_emoji":[],"events":[]}],"label_links":[{"target_type":"Issue","created_at":"2017-01-13T12:47:14.351Z","updated_at":"2017-01-13T12:47:14.351Z","label":{"title":"enhancement","color":"#428BCA","project_id":2174499,"created_at":"2016-12-16T14:54:27.498Z","updated_at":"2016-12-16T14:54:27.498Z","template":false,"description":null,"group_id":null,"type":"ProjectLabel","priorities":[]}},{"target_type":"Issue","created_at":"2017-01-13T12:47:14.364Z","updated_at":"2017-01-13T12:47:14.364Z","label":{"title":"general","color":"#428BCA","project_id":2174499,"created_at":"2017-01-13T12:47:00.101Z","updated_at":"2017-01-13T12:47:00.101Z","template":false,"description":null,"group_id":null,"type":"ProjectLabel","priorities":[]}},{"target_type":"Issue","created_at":"2017-01-13T12:47:14.371Z","updated_at":"2017-01-13T12:47:14.371Z","label":{"title":"enhancement","color":"#428BCA","project_id":2174499,"created_at":"2016-12-16T14:54:27.498Z","updated_at":"2016-12-16T14:54:27.498Z","template":false,"description":null,"group_id":null,"type":"ProjectLabel","priorities":[]}}],"resource_label_events":[],"resource_milestone_events":[],"resource_state_events":[],"designs":[],"design_versions":[],"issue_assignees":[],"zoom_meetings":[],"award_emoji":[],"work_item_type":{"base_type":"issue"},"resource_iteration_events":[]}
+{"title":"test_large_recursive_file files","author_id":53909,"project_id":2174499,"created_at":"2017-01-13T12:47:10.429Z","updated_at":"2018-06-25T03:50:17.781Z","description":"`python setup.py test` fails","iid":7,"updated_by_id":null,"weight":null,"confidential":false,"due_date":null,"lock_version":1,"time_estimate":0,"relative_position":1073742823,"last_edited_at":null,"last_edited_by_id":null,"discussion_locked":null,"closed_at":null,"closed_by_id":null,"health_status":null,"external_key":null,"state":"closed","events":[],"timelogs":[],"notes":[{"note":"duplicate of #3","noteable_type":"Issue","author_id":53909,"created_at":"2017-01-13T12:50:47.975Z","updated_at":"2017-01-13T12:50:47.975Z","project_id":2174499,"attachment":{"url":null},"line_code":null,"commit_id":"","st_diff":null,"system":false,"updated_by_id":null,"type":null,"position":null,"original_position":null,"resolved_at":null,"resolved_by_id":null,"discussion_id":"ddc443df1120e98f41ccde4df3407174d1e738fd","change_position":null,"resolved_by_push":null,"confidential":null,"last_edited_at":"2017-01-13T12:50:47.975Z","author":{"name":"Matěj Cepl"},"award_emoji":[],"events":[]},{"note":"log of the testing run","noteable_type":"Issue","author_id":53909,"created_at":"2017-01-13T12:47:12.648Z","updated_at":"2017-01-13T12:47:12.648Z","project_id":2174499,"attachment":{"url":null},"line_code":null,"commit_id":null,"st_diff":null,"system":false,"updated_by_id":null,"type":null,"position":null,"original_position":null,"resolved_at":null,"resolved_by_id":null,"discussion_id":"ddc443df1120e98f41ccde4df3407174d1e738fd","change_position":null,"resolved_by_push":null,"confidential":null,"last_edited_at":"2017-01-13T12:47:12.648Z","author":{"name":"Matěj Cepl"},"award_emoji":[],"events":[]},{"note":"closed","noteable_type":"Issue","author_id":53909,"created_at":"2017-01-13T12:50:47.984Z","updated_at":"2017-01-13T12:50:47.984Z","project_id":2174499,"attachment":{"url":null},"line_code":null,"commit_id":null,"st_diff":null,"system":true,"updated_by_id":null,"type":null,"position":null,"original_position":null,"resolved_at":null,"resolved_by_id":null,"discussion_id":"ddc443df1120e98f41ccde4df3407174d1e738fd","change_position":null,"resolved_by_push":null,"confidential":null,"last_edited_at":"2017-01-13T12:50:47.984Z","author":{"name":"Matěj Cepl"},"award_emoji":[],"events":[]}],"label_links":[{"target_type":"Issue","created_at":"2017-01-13T12:47:10.470Z","updated_at":"2017-01-13T12:47:10.470Z","label":{"title":"defect","color":"#428BCA","project_id":2174499,"created_at":"2016-12-16T14:54:06.516Z","updated_at":"2016-12-16T14:54:06.516Z","template":false,"description":null,"group_id":null,"type":"ProjectLabel","priorities":[]}},{"target_type":"Issue","created_at":"2017-01-13T12:47:10.488Z","updated_at":"2017-01-13T12:47:10.488Z","label":{"title":"general","color":"#428BCA","project_id":2174499,"created_at":"2017-01-13T12:47:00.101Z","updated_at":"2017-01-13T12:47:00.101Z","template":false,"description":null,"group_id":null,"type":"ProjectLabel","priorities":[]}},{"target_type":"Issue","created_at":"2017-01-13T12:47:10.495Z","updated_at":"2017-01-13T12:47:10.495Z","label":{"title":"defect","color":"#428BCA","project_id":2174499,"created_at":"2016-12-16T14:54:06.516Z","updated_at":"2016-12-16T14:54:06.516Z","template":false,"description":null,"group_id":null,"type":"ProjectLabel","priorities":[]}}],"resource_label_events":[],"resource_milestone_events":[],"resource_state_events":[],"designs":[],"design_versions":[],"issue_assignees":[],"zoom_meetings":[],"award_emoji":[],"work_item_type":{"base_type":"issue"},"resource_iteration_events":[]}
+{"title":"encoding again","author_id":53909,"project_id":2174499,"created_at":"2017-01-13T12:47:05.381Z","updated_at":"2018-06-25T03:50:17.818Z","description":"mitmanek:devConf-xcal (master) $ json_diff csv_data.json json_data.json \n Traceback (most recent call last):\n File \"/usr/bin/json_diff\", line 369, in \u003cmodule\u003e\n main_res = main(sys.argv)\n File \"/usr/bin/json_diff\", line 361, in main\n print(outs.encode(locale.getpreferredencoding(do_setlocale=False)))\n UnicodeEncodeError: 'ascii' codec can't encode character u'\\u2013' in position 164: ordinal not in range(128)\n mitmanek:devConf-xcal (master) $","iid":6,"updated_by_id":null,"weight":null,"confidential":false,"due_date":null,"lock_version":1,"time_estimate":0,"relative_position":1073743323,"last_edited_at":null,"last_edited_by_id":null,"discussion_locked":null,"closed_at":null,"closed_by_id":null,"health_status":null,"external_key":null,"state":"closed","events":[],"timelogs":[],"notes":[{"note":"Fixed in [e98e114]","noteable_type":"Issue","author_id":53909,"created_at":"2017-01-13T12:47:08.684Z","updated_at":"2017-01-13T12:47:08.684Z","project_id":2174499,"attachment":{"url":null},"line_code":null,"commit_id":null,"st_diff":null,"system":false,"updated_by_id":null,"type":null,"position":null,"original_position":null,"resolved_at":null,"resolved_by_id":null,"discussion_id":"4280b84c4551c164cc665197da40380241b7e915","change_position":null,"resolved_by_push":null,"confidential":null,"last_edited_at":"2017-01-13T12:47:08.684Z","author":{"name":"Matěj Cepl"},"award_emoji":[],"events":[]},{"note":"closed","noteable_type":"Issue","author_id":53909,"created_at":"2017-01-13T12:47:06.718Z","updated_at":"2017-01-13T12:47:06.718Z","project_id":2174499,"attachment":{"url":null},"line_code":null,"commit_id":null,"st_diff":null,"system":true,"updated_by_id":null,"type":null,"position":null,"original_position":null,"resolved_at":null,"resolved_by_id":null,"discussion_id":"4280b84c4551c164cc665197da40380241b7e915","change_position":null,"resolved_by_push":null,"confidential":null,"last_edited_at":"2017-01-13T12:47:06.718Z","author":{"name":"Matěj Cepl"},"award_emoji":[],"events":[]}],"label_links":[{"target_type":"Issue","created_at":"2017-01-13T12:47:05.422Z","updated_at":"2017-01-13T12:47:05.422Z","label":{"title":"defect","color":"#428BCA","project_id":2174499,"created_at":"2016-12-16T14:54:06.516Z","updated_at":"2016-12-16T14:54:06.516Z","template":false,"description":null,"group_id":null,"type":"ProjectLabel","priorities":[]}},{"target_type":"Issue","created_at":"2017-01-13T12:47:05.430Z","updated_at":"2017-01-13T12:47:05.430Z","label":{"title":"general","color":"#428BCA","project_id":2174499,"created_at":"2017-01-13T12:47:00.101Z","updated_at":"2017-01-13T12:47:00.101Z","template":false,"description":null,"group_id":null,"type":"ProjectLabel","priorities":[]}},{"target_type":"Issue","created_at":"2017-01-13T12:47:05.436Z","updated_at":"2017-01-13T12:47:05.436Z","label":{"title":"defect","color":"#428BCA","project_id":2174499,"created_at":"2016-12-16T14:54:06.516Z","updated_at":"2016-12-16T14:54:06.516Z","template":false,"description":null,"group_id":null,"type":"ProjectLabel","priorities":[]}}],"resource_label_events":[],"resource_milestone_events":[],"resource_state_events":[],"designs":[],"design_versions":[],"issue_assignees":[],"zoom_meetings":[],"award_emoji":[],"work_item_type":{"base_type":"issue"},"resource_iteration_events":[]}
+{"title":"change the project’s website to https://fedorahosted.org/json_diff/","author_id":53909,"project_id":2174499,"created_at":"2017-01-13T12:47:00.482Z","updated_at":"2018-06-25T03:50:17.869Z","description":"","iid":5,"updated_by_id":null,"weight":null,"confidential":false,"due_date":null,"lock_version":1,"time_estimate":0,"relative_position":1073743823,"last_edited_at":null,"last_edited_by_id":null,"discussion_locked":null,"closed_at":null,"closed_by_id":null,"health_status":null,"external_key":null,"state":"closed","events":[],"timelogs":[],"notes":[{"note":"Fixed in [ddeec22]","noteable_type":"Issue","author_id":53909,"created_at":"2017-01-13T12:47:03.895Z","updated_at":"2017-01-13T12:47:03.895Z","project_id":2174499,"attachment":{"url":null},"line_code":null,"commit_id":null,"st_diff":null,"system":false,"updated_by_id":null,"type":null,"position":null,"original_position":null,"resolved_at":null,"resolved_by_id":null,"discussion_id":"77985eafecf7ada2ed64e4738a25356b5fe1ce93","change_position":null,"resolved_by_push":null,"confidential":null,"last_edited_at":"2017-01-13T12:47:03.895Z","author":{"name":"Matěj Cepl"},"award_emoji":[],"events":[]},{"note":"closed","noteable_type":"Issue","author_id":53909,"created_at":"2017-01-13T12:47:01.930Z","updated_at":"2017-01-13T12:47:01.930Z","project_id":2174499,"attachment":{"url":null},"line_code":null,"commit_id":null,"st_diff":null,"system":true,"updated_by_id":null,"type":null,"position":null,"original_position":null,"resolved_at":null,"resolved_by_id":null,"discussion_id":"77985eafecf7ada2ed64e4738a25356b5fe1ce93","change_position":null,"resolved_by_push":null,"confidential":null,"last_edited_at":"2017-01-13T12:47:01.930Z","author":{"name":"Matěj Cepl"},"award_emoji":[],"events":[]}],"label_links":[{"target_type":"Issue","created_at":"2017-01-13T12:47:00.536Z","updated_at":"2017-01-13T12:47:00.536Z","label":{"title":"defect","color":"#428BCA","project_id":2174499,"created_at":"2016-12-16T14:54:06.516Z","updated_at":"2016-12-16T14:54:06.516Z","template":false,"description":null,"group_id":null,"type":"ProjectLabel","priorities":[]}},{"target_type":"Issue","created_at":"2017-01-13T12:47:00.543Z","updated_at":"2017-01-13T12:47:00.543Z","label":{"title":"general","color":"#428BCA","project_id":2174499,"created_at":"2017-01-13T12:47:00.101Z","updated_at":"2017-01-13T12:47:00.101Z","template":false,"description":null,"group_id":null,"type":"ProjectLabel","priorities":[]}},{"target_type":"Issue","created_at":"2017-01-13T12:47:00.549Z","updated_at":"2017-01-13T12:47:00.549Z","label":{"title":"defect","color":"#428BCA","project_id":2174499,"created_at":"2016-12-16T14:54:06.516Z","updated_at":"2016-12-16T14:54:06.516Z","template":false,"description":null,"group_id":null,"type":"ProjectLabel","priorities":[]}}],"resource_label_events":[],"resource_milestone_events":[],"resource_state_events":[],"designs":[],"design_versions":[],"issue_assignees":[],"zoom_meetings":[],"award_emoji":[],"work_item_type":{"base_type":"issue"},"resource_iteration_events":[]}
+{"title":"Add output option","author_id":53909,"project_id":2174499,"created_at":"2016-12-16T14:54:28.122Z","updated_at":"2018-06-25T03:50:17.923Z","description":"json_diff -o filename may be helpful in some QA scripts.","iid":4,"updated_by_id":53909,"weight":null,"confidential":false,"due_date":null,"lock_version":1,"time_estimate":0,"relative_position":1073744323,"last_edited_at":null,"last_edited_by_id":null,"discussion_locked":null,"closed_at":null,"closed_by_id":null,"health_status":null,"external_key":null,"state":"closed","events":[],"timelogs":[],"notes":[{"note":"Fixed in [2229c24]","noteable_type":"Issue","author_id":53909,"created_at":"2016-12-16T14:54:31.000Z","updated_at":"2016-12-16T14:54:31.000Z","project_id":2174499,"attachment":{"url":null},"line_code":null,"commit_id":null,"st_diff":null,"system":false,"updated_by_id":null,"type":null,"position":null,"original_position":null,"resolved_at":null,"resolved_by_id":null,"discussion_id":"faa7e62a3f8bc8d445a7d88871c9d1ca9a239738","change_position":null,"resolved_by_push":null,"confidential":null,"last_edited_at":"2016-12-16T14:54:31.000Z","author":{"name":"Matěj Cepl"},"award_emoji":[],"events":[]},{"note":"closed","noteable_type":"Issue","author_id":53909,"created_at":"2016-12-16T14:54:29.305Z","updated_at":"2016-12-16T14:54:29.305Z","project_id":2174499,"attachment":{"url":null},"line_code":null,"commit_id":null,"st_diff":null,"system":true,"updated_by_id":null,"type":null,"position":null,"original_position":null,"resolved_at":null,"resolved_by_id":null,"discussion_id":"faa7e62a3f8bc8d445a7d88871c9d1ca9a239738","change_position":null,"resolved_by_push":null,"confidential":null,"last_edited_at":"2016-12-16T14:54:29.305Z","author":{"name":"Matěj Cepl"},"award_emoji":[],"events":[]}],"label_links":[{"target_type":"Issue","created_at":"2016-12-16T14:54:28.186Z","updated_at":"2016-12-16T14:54:28.186Z","label":{"title":"enhancement","color":"#428BCA","project_id":2174499,"created_at":"2016-12-16T14:54:27.498Z","updated_at":"2016-12-16T14:54:27.498Z","template":false,"description":null,"group_id":null,"type":"ProjectLabel","priorities":[]}},{"target_type":"Issue","created_at":"2016-12-16T14:54:28.220Z","updated_at":"2016-12-16T14:54:28.220Z","label":{"title":"enhancement","color":"#428BCA","project_id":2174499,"created_at":"2016-12-16T14:54:27.498Z","updated_at":"2016-12-16T14:54:27.498Z","template":false,"description":null,"group_id":null,"type":"ProjectLabel","priorities":[]}}],"resource_label_events":[],"resource_milestone_events":[],"resource_state_events":[],"designs":[],"design_versions":[],"issue_assignees":[],"zoom_meetings":[],"award_emoji":[],"work_item_type":{"base_type":"issue"},"resource_iteration_events":[]}
+{"title":"encoding again","author_id":53909,"project_id":2174499,"created_at":"2016-12-16T14:54:18.427Z","updated_at":"2018-06-25T03:50:17.970Z","description":"mitmanek:devConf-xcal (master) $ json_diff csv_data.json json_data.json \n Traceback (most recent call last):\n File \"/usr/bin/json_diff\", line 369, in \u003cmodule\u003e\n main_res = main(sys.argv)\n File \"/usr/bin/json_diff\", line 361, in main\n print(outs.encode(locale.getpreferredencoding(do_setlocale=False)))\n UnicodeEncodeError: 'ascii' codec can't encode character u'\\u2013' in position 164: ordinal not in range(128)\n mitmanek:devConf-xcal (master) $","iid":2,"updated_by_id":53909,"weight":null,"confidential":false,"due_date":null,"lock_version":1,"time_estimate":0,"relative_position":1073744823,"last_edited_at":null,"last_edited_by_id":null,"discussion_locked":null,"closed_at":null,"closed_by_id":null,"health_status":null,"external_key":null,"state":"closed","events":[],"timelogs":[],"notes":[{"note":"Fixed in [e98e114]","noteable_type":"Issue","author_id":53909,"created_at":"2016-12-16T14:54:22.795Z","updated_at":"2016-12-16T14:54:22.795Z","project_id":2174499,"attachment":{"url":null},"line_code":null,"commit_id":null,"st_diff":null,"system":false,"updated_by_id":null,"type":null,"position":null,"original_position":null,"resolved_at":null,"resolved_by_id":null,"discussion_id":"e313009c3bcc4608874aac01a1c11f2d8e2c1913","change_position":null,"resolved_by_push":null,"confidential":null,"last_edited_at":"2016-12-16T14:54:22.795Z","author":{"name":"Matěj Cepl"},"award_emoji":[],"events":[]},{"note":"closed","noteable_type":"Issue","author_id":53909,"created_at":"2016-12-16T14:54:20.000Z","updated_at":"2016-12-16T14:54:20.000Z","project_id":2174499,"attachment":{"url":null},"line_code":null,"commit_id":null,"st_diff":null,"system":true,"updated_by_id":null,"type":null,"position":null,"original_position":null,"resolved_at":null,"resolved_by_id":null,"discussion_id":"e313009c3bcc4608874aac01a1c11f2d8e2c1913","change_position":null,"resolved_by_push":null,"confidential":null,"last_edited_at":"2016-12-16T14:54:20.000Z","author":{"name":"Matěj Cepl"},"award_emoji":[],"events":[]}],"label_links":[{"target_type":"Issue","created_at":"2016-12-16T14:54:18.493Z","updated_at":"2016-12-16T14:54:18.493Z","label":{"title":"defect","color":"#428BCA","project_id":2174499,"created_at":"2016-12-16T14:54:06.516Z","updated_at":"2016-12-16T14:54:06.516Z","template":false,"description":null,"group_id":null,"type":"ProjectLabel","priorities":[]}},{"target_type":"Issue","created_at":"2016-12-16T14:54:18.519Z","updated_at":"2016-12-16T14:54:18.519Z","label":{"title":"defect","color":"#428BCA","project_id":2174499,"created_at":"2016-12-16T14:54:06.516Z","updated_at":"2016-12-16T14:54:06.516Z","template":false,"description":null,"group_id":null,"type":"ProjectLabel","priorities":[]}}],"resource_label_events":[],"resource_milestone_events":[],"resource_state_events":[],"designs":[],"design_versions":[],"issue_assignees":[],"zoom_meetings":[],"award_emoji":[],"work_item_type":{"base_type":"issue"},"resource_iteration_events":[]}
+{"title":"change the project’s website to https://fedorahosted.org/json_diff/","author_id":53909,"project_id":2174499,"created_at":"2016-12-16T14:54:07.292Z","updated_at":"2018-06-25T03:50:18.011Z","description":null,"iid":1,"updated_by_id":53909,"weight":null,"confidential":false,"due_date":null,"lock_version":1,"time_estimate":0,"relative_position":1073745323,"last_edited_at":null,"last_edited_by_id":null,"discussion_locked":null,"closed_at":null,"closed_by_id":null,"health_status":null,"external_key":null,"state":"closed","events":[],"timelogs":[],"notes":[{"note":"Fixed in [ddeec22]","noteable_type":"Issue","author_id":53909,"created_at":"2016-12-16T14:54:11.848Z","updated_at":"2016-12-16T14:54:11.848Z","project_id":2174499,"attachment":{"url":null},"line_code":null,"commit_id":null,"st_diff":null,"system":false,"updated_by_id":null,"type":null,"position":null,"original_position":null,"resolved_at":null,"resolved_by_id":null,"discussion_id":"e9929bdd1795d0c5d26e16924ad56ed59fe3ae4c","change_position":null,"resolved_by_push":null,"confidential":null,"last_edited_at":"2016-12-16T14:54:11.848Z","author":{"name":"Matěj Cepl"},"award_emoji":[],"events":[]},{"note":"closed","noteable_type":"Issue","author_id":53909,"created_at":"2016-12-16T14:54:09.330Z","updated_at":"2016-12-16T14:54:09.330Z","project_id":2174499,"attachment":{"url":null},"line_code":null,"commit_id":null,"st_diff":null,"system":true,"updated_by_id":null,"type":null,"position":null,"original_position":null,"resolved_at":null,"resolved_by_id":null,"discussion_id":"e9929bdd1795d0c5d26e16924ad56ed59fe3ae4c","change_position":null,"resolved_by_push":null,"confidential":null,"last_edited_at":"2016-12-16T14:54:09.330Z","author":{"name":"Matěj Cepl"},"award_emoji":[],"events":[]}],"label_links":[{"target_type":"Issue","created_at":"2016-12-16T14:54:07.351Z","updated_at":"2016-12-16T14:54:07.351Z","label":{"title":"defect","color":"#428BCA","project_id":2174499,"created_at":"2016-12-16T14:54:06.516Z","updated_at":"2016-12-16T14:54:06.516Z","template":false,"description":null,"group_id":null,"type":"ProjectLabel","priorities":[]}},{"target_type":"Issue","created_at":"2016-12-16T14:54:07.372Z","updated_at":"2016-12-16T14:54:07.372Z","label":{"title":"defect","color":"#428BCA","project_id":2174499,"created_at":"2016-12-16T14:54:06.516Z","updated_at":"2016-12-16T14:54:06.516Z","template":false,"description":null,"group_id":null,"type":"ProjectLabel","priorities":[]}}],"resource_label_events":[],"resource_milestone_events":[],"resource_state_events":[],"designs":[],"design_versions":[],"issue_assignees":[],"zoom_meetings":[],"award_emoji":[],"work_item_type":{"base_type":"issue"},"resource_iteration_events":[]}
+{"title":"test_large_recursive_file files","author_id":53909,"project_id":2174499,"created_at":"2016-12-16T14:54:24.427Z","updated_at":"2018-06-25T03:50:19.645Z","description":"`python setup.py test` fails","iid":3,"updated_by_id":53909,"weight":null,"confidential":false,"due_date":null,"lock_version":1,"time_estimate":0,"relative_position":1073745823,"last_edited_at":null,"last_edited_by_id":null,"discussion_locked":null,"closed_at":null,"closed_by_id":null,"health_status":null,"external_key":null,"state":"opened","events":[],"timelogs":[],"notes":[{"note":"log of the testing run\r\n[json_diff_log.txt](/uploads/47d72f0100b2851a1eb00a655c5ded1d/json_diff_log.txt)","noteable_type":"Issue","author_id":53909,"created_at":"2016-12-16T14:54:26.504Z","updated_at":"2017-01-13T12:50:36.964Z","project_id":2174499,"attachment":{"url":null},"line_code":null,"commit_id":null,"st_diff":null,"system":false,"updated_by_id":53909,"type":null,"position":null,"original_position":null,"resolved_at":null,"resolved_by_id":null,"discussion_id":"1910b7a714fe7f8e309a5060cdccbbafdfd87f76","change_position":null,"resolved_by_push":null,"confidential":null,"last_edited_at":"2017-01-13T12:50:36.964Z","author":{"name":"Matěj Cepl"},"award_emoji":[],"events":[]},{"note":"removed ~1107526 label","noteable_type":"Issue","author_id":53909,"created_at":"2016-12-16T15:26:24.750Z","updated_at":"2016-12-16T15:26:24.750Z","project_id":2174499,"attachment":{"url":null},"line_code":null,"commit_id":null,"st_diff":null,"system":true,"updated_by_id":null,"type":null,"position":null,"original_position":null,"resolved_at":null,"resolved_by_id":null,"discussion_id":"1910b7a714fe7f8e309a5060cdccbbafdfd87f76","change_position":null,"resolved_by_push":null,"confidential":null,"last_edited_at":"2016-12-16T15:26:24.750Z","author":{"name":"Matěj Cepl"},"award_emoji":[],"events":[]},{"note":"added ~1107525 label","noteable_type":"Issue","author_id":53909,"created_at":"2016-12-16T15:27:21.561Z","updated_at":"2016-12-16T15:27:21.561Z","project_id":2174499,"attachment":{"url":null},"line_code":null,"commit_id":null,"st_diff":null,"system":true,"updated_by_id":null,"type":null,"position":null,"original_position":null,"resolved_at":null,"resolved_by_id":null,"discussion_id":"1910b7a714fe7f8e309a5060cdccbbafdfd87f76","change_position":null,"resolved_by_push":null,"confidential":null,"last_edited_at":"2016-12-16T15:27:21.561Z","author":{"name":"Matěj Cepl"},"award_emoji":[],"events":[]},{"note":"removed ~1107525 ~1107525 labels","noteable_type":"Issue","author_id":53909,"created_at":"2016-12-16T15:27:16.656Z","updated_at":"2016-12-16T15:27:16.656Z","project_id":2174499,"attachment":{"url":null},"line_code":null,"commit_id":null,"st_diff":null,"system":true,"updated_by_id":null,"type":null,"position":null,"original_position":null,"resolved_at":null,"resolved_by_id":null,"discussion_id":"1910b7a714fe7f8e309a5060cdccbbafdfd87f76","change_position":null,"resolved_by_push":null,"confidential":null,"last_edited_at":"2016-12-16T15:27:16.656Z","author":{"name":"Matěj Cepl"},"award_emoji":[],"events":[]},{"note":"mentioned in issue #7","noteable_type":"Issue","author_id":53909,"created_at":"2017-01-13T12:50:53.210Z","updated_at":"2017-01-13T12:50:53.210Z","project_id":2174499,"attachment":{"url":null},"line_code":null,"commit_id":null,"st_diff":null,"system":true,"updated_by_id":null,"type":null,"position":null,"original_position":null,"resolved_at":null,"resolved_by_id":null,"discussion_id":"1910b7a714fe7f8e309a5060cdccbbafdfd87f76","change_position":null,"resolved_by_push":null,"confidential":null,"last_edited_at":"2017-01-13T12:50:53.210Z","author":{"name":"Matěj Cepl"},"award_emoji":[],"events":[]},{"note":"removed ~1107525 label","noteable_type":"Issue","author_id":53909,"created_at":"2017-01-13T12:51:09.073Z","updated_at":"2017-01-13T12:51:09.073Z","project_id":2174499,"attachment":{"url":null},"line_code":null,"commit_id":null,"st_diff":null,"system":true,"updated_by_id":null,"type":null,"position":null,"original_position":null,"resolved_at":null,"resolved_by_id":null,"discussion_id":"1910b7a714fe7f8e309a5060cdccbbafdfd87f76","change_position":null,"resolved_by_push":null,"confidential":null,"last_edited_at":"2017-01-13T12:51:09.073Z","author":{"name":"Matěj Cepl"},"award_emoji":[],"events":[]},{"note":"added ~1107525 label","noteable_type":"Issue","author_id":53909,"created_at":"2017-01-13T12:51:13.811Z","updated_at":"2017-01-13T12:51:13.811Z","project_id":2174499,"attachment":{"url":null},"line_code":null,"commit_id":null,"st_diff":null,"system":true,"updated_by_id":null,"type":null,"position":null,"original_position":null,"resolved_at":null,"resolved_by_id":null,"discussion_id":"1910b7a714fe7f8e309a5060cdccbbafdfd87f76","change_position":null,"resolved_by_push":null,"confidential":null,"last_edited_at":"2017-01-13T12:51:13.811Z","author":{"name":"Matěj Cepl"},"award_emoji":[],"events":[]}],"label_links":[{"target_type":"Issue","created_at":"2017-01-13T12:51:13.753Z","updated_at":"2017-01-13T12:51:13.753Z","label":{"title":"defect","color":"#428BCA","project_id":2174499,"created_at":"2016-12-16T14:54:06.516Z","updated_at":"2016-12-16T14:54:06.516Z","template":false,"description":null,"group_id":null,"type":"ProjectLabel","priorities":[]}}],"resource_label_events":[],"resource_milestone_events":[],"resource_state_events":[],"designs":[],"design_versions":[],"issue_assignees":[],"zoom_meetings":[],"award_emoji":[{"name":"thumbsup","user_id":518488,"awardable_type":"Issue","created_at":"2017-06-27T08:56:29.887Z","updated_at":"2017-06-27T08:56:29.887Z"}],"work_item_type":{"base_type":"issue"},"resource_iteration_events":[]}
+{"title":"JSON is not required to be a dictionary","author_id":519455,"project_id":2174499,"created_at":"2019-02-06T01:57:40.823Z","updated_at":"2020-03-19T18:14:14.784Z","description":"As far as I can tell, all the test files use dictionaries as the top-level object. But JSON does not require this, and when I tried running it on a pair of files containing arrays, it crashed.\n\nAccording to the spec, `json` is made up of one `element`, and an `element` is made up of a `value` optionally surrounded by whitespace. A `value` is any of `object`, `array`, `string`, `number`, `\"true\"`, `\"false\"`, `\"null\"`.","iid":9,"updated_by_id":519455,"weight":null,"confidential":false,"due_date":null,"lock_version":2,"time_estimate":0,"relative_position":1073746323,"last_edited_at":"2019-08-30T09:56:55.389Z","last_edited_by_id":519455,"discussion_locked":null,"closed_at":null,"closed_by_id":null,"health_status":null,"external_key":null,"state":"opened","events":[{"project_id":2174499,"author_id":519455,"created_at":"2019-02-06T01:57:40.877Z","updated_at":"2019-02-06T01:57:40.877Z","action":"created","target_type":"Issue","fingerprint":null}],"timelogs":[],"notes":[{"note":"Hmm, well, it's been ages since I filed this, but you can just generate one:\n\n```python\n$ ipython3\nIn [1]: import json\n\nIn [2]: with open('old.json', 'w') as f: json.dump([1, 2, 3], f) \n\nIn [3]: with open('new.json', 'w') as f: json.dump([1, 3, 3], f) \n```\n\n```pytb\n$ json_diff old.json new.json\nTraceback (most recent call last):\n File \".../bin/json_diff\", line 10, in \u003cmodule\u003e\n sys.exit(main())\n File \".../python3.7/site-packages/json_diff.py\", line 370, in main\n diff_res = diff.compare_dicts()\n File \".../python3.7/site-packages/json_diff.py\", line 305, in compare_dicts\n old_keys = set(old_obj.keys())\nAttributeError: 'list' object has no attribute 'keys'\n```","noteable_type":"Issue","author_id":519455,"created_at":"2019-08-30T10:05:06.399Z","updated_at":"2019-08-30T10:05:06.399Z","project_id":2174499,"attachment":{"url":null},"line_code":null,"commit_id":null,"st_diff":null,"system":false,"updated_by_id":null,"type":null,"position":null,"original_position":null,"resolved_at":null,"resolved_by_id":null,"discussion_id":"075ab133aeead3faea5972e6f9d15125f097a728","change_position":null,"resolved_by_push":null,"confidential":null,"last_edited_at":"2019-08-30T10:05:06.399Z","author":{"name":"Elliott Sales de Andrade"},"award_emoji":[],"events":[{"project_id":2174499,"author_id":519455,"created_at":"2019-08-30T10:05:06.706Z","updated_at":"2019-08-30T10:05:06.706Z","action":"commented","target_type":"Note","fingerprint":null}]},{"note":"Give me the example test data failing, please.","noteable_type":"Issue","author_id":53909,"created_at":"2019-08-25T20:14:27.542Z","updated_at":"2019-08-25T20:14:27.542Z","project_id":2174499,"attachment":{"url":null},"line_code":null,"commit_id":null,"st_diff":null,"system":false,"updated_by_id":null,"type":null,"position":null,"original_position":null,"resolved_at":null,"resolved_by_id":null,"discussion_id":"f8310c236a7377b78315d93e9741ee0790ab4964","change_position":null,"resolved_by_push":null,"confidential":null,"last_edited_at":"2019-08-25T20:14:27.542Z","author":{"name":"Matěj Cepl"},"award_emoji":[],"events":[{"project_id":2174499,"author_id":53909,"created_at":"2019-08-25T20:14:27.802Z","updated_at":"2019-08-25T20:14:27.802Z","action":"commented","target_type":"Note","fingerprint":null}]},{"note":"Same thing - this prevents me from using json-diff with the json I have.","noteable_type":"Issue","author_id":2935579,"created_at":"2020-03-19T18:14:14.751Z","updated_at":"2020-03-19T18:14:14.751Z","project_id":2174499,"attachment":{"url":null},"line_code":null,"commit_id":null,"st_diff":null,"system":false,"updated_by_id":null,"type":null,"position":null,"original_position":null,"resolved_at":null,"resolved_by_id":null,"discussion_id":"1297268789557c210778f1bd20d71b9bd5ad2fbc","change_position":null,"resolved_by_push":null,"confidential":null,"last_edited_at":"2020-03-19T18:14:14.751Z","author":{"name":"Stuart Axon"},"award_emoji":[],"events":[{"project_id":2174499,"author_id":2935579,"created_at":"2020-03-19T18:14:15.308Z","updated_at":"2020-03-19T18:14:15.308Z","action":"commented","target_type":"Note","fingerprint":null}]},{"note":"changed the description","noteable_type":"Issue","author_id":519455,"created_at":"2019-08-30T09:56:55.554Z","updated_at":"2019-08-30T09:56:55.557Z","project_id":2174499,"attachment":{"url":null},"line_code":null,"commit_id":null,"st_diff":null,"system":true,"updated_by_id":null,"type":null,"position":null,"original_position":null,"resolved_at":null,"resolved_by_id":null,"discussion_id":"7c0f20deb0259bef91ee3794f5bb9b7e6055586b","change_position":null,"resolved_by_push":null,"confidential":null,"last_edited_at":"2019-08-30T09:56:55.557Z","author":{"name":"Elliott Sales de Andrade"},"award_emoji":[],"system_note_metadata":{"commit_count":null,"action":"description","created_at":"2019-08-30T09:56:55.577Z","updated_at":"2019-08-30T09:56:55.577Z"},"events":[]}],"label_links":[{"target_type":"Issue","created_at":"2019-08-25T20:14:53.391Z","updated_at":"2019-08-25T20:14:53.391Z","label":{"title":"needinfo","color":"#5843AD","project_id":2174499,"created_at":"2019-08-25T20:14:47.284Z","updated_at":"2019-08-25T20:14:47.284Z","template":false,"description":null,"group_id":null,"type":"ProjectLabel","priorities":[]}}],"resource_label_events":[{"action":"add","user_id":53909,"created_at":"2019-08-25T20:14:53.420Z","label":{"title":"needinfo","color":"#5843AD","project_id":2174499,"created_at":"2019-08-25T20:14:47.284Z","updated_at":"2019-08-25T20:14:47.284Z","template":false,"description":null,"group_id":null,"type":"ProjectLabel","priorities":[]}}],"resource_milestone_events":[],"resource_state_events":[],"designs":[],"design_versions":[],"issue_assignees":[],"zoom_meetings":[],"award_emoji":[{"name":"thumbsup","user_id":2935579,"awardable_type":"Issue","created_at":"2020-03-19T18:13:59.337Z","updated_at":"2020-03-19T18:13:59.337Z"},{"name":"thumbsup","user_id":1638171,"awardable_type":"Issue","created_at":"2021-03-26T06:57:15.593Z","updated_at":"2021-03-26T06:57:15.593Z"}],"work_item_type":{"base_type":"issue"},"resource_iteration_events":[]}
+{"title":"HTMLFormatter doesn’t keep order of elements","author_id":53909,"project_id":2174499,"created_at":"2019-08-25T20:20:40.910Z","updated_at":"2021-05-19T09:07:14.535Z","description":"Therefore ``test_json_diff.TestBasicJSON.test_simple_formatted`` and ``test.test_json_diff.TestHappyPath.test_nested_formatted`` fail.","iid":10,"updated_by_id":53909,"weight":null,"confidential":false,"due_date":null,"lock_version":2,"time_estimate":0,"relative_position":1073746823,"last_edited_at":"2019-08-25T20:21:01.858Z","last_edited_by_id":53909,"discussion_locked":null,"closed_at":null,"closed_by_id":null,"health_status":null,"external_key":null,"state":"opened","events":[{"project_id":2174499,"author_id":53909,"created_at":"2019-08-25T20:20:40.970Z","updated_at":"2019-08-25T20:20:40.970Z","action":"created","target_type":"Issue","fingerprint":null}],"timelogs":[],"notes":[{"note":"Maybe need to use an OrderedDict somewhere ?","noteable_type":"Issue","author_id":167040,"created_at":"2021-05-19T09:07:14.499Z","updated_at":"2021-05-19T09:07:14.499Z","project_id":2174499,"attachment":{"url":null},"line_code":null,"commit_id":null,"st_diff":null,"system":false,"updated_by_id":null,"type":null,"position":null,"original_position":null,"resolved_at":null,"resolved_by_id":null,"discussion_id":"6c4c9165a417cb80b17935b872c6463266f2f1d5","change_position":null,"resolved_by_push":null,"confidential":null,"last_edited_at":"2021-05-19T09:07:14.499Z","author":{"name":"Francois"},"award_emoji":[],"events":[{"project_id":2174499,"author_id":167040,"created_at":"2021-05-19T09:07:14.759Z","updated_at":"2021-05-19T09:07:14.759Z","action":"commented","target_type":"Note","fingerprint":null}]},{"note":"changed the description","noteable_type":"Issue","author_id":53909,"created_at":"2019-08-25T20:21:01.954Z","updated_at":"2019-08-25T20:21:01.961Z","project_id":2174499,"attachment":{"url":null},"line_code":null,"commit_id":null,"st_diff":null,"system":true,"updated_by_id":null,"type":null,"position":null,"original_position":null,"resolved_at":null,"resolved_by_id":null,"discussion_id":"736b1f106e9d07b6cfcf57bf3fea57efe7015493","change_position":null,"resolved_by_push":null,"confidential":null,"last_edited_at":"2019-08-25T20:21:01.961Z","author":{"name":"Matěj Cepl"},"award_emoji":[],"system_note_metadata":{"commit_count":null,"action":"description","created_at":"2019-08-25T20:21:01.984Z","updated_at":"2019-08-25T20:21:01.984Z"},"events":[]}],"label_links":[],"resource_label_events":[],"resource_milestone_events":[],"resource_state_events":[],"designs":[],"design_versions":[],"issue_assignees":[],"zoom_meetings":[],"award_emoji":[],"work_item_type":{"base_type":"issue"},"resource_iteration_events":[]}
+{"title":"Please describe output formats in readme","author_id":43767,"project_id":2174499,"created_at":"2019-10-06T15:08:59.291Z","updated_at":"2019-10-06T15:08:59.291Z","description":"I'm just looking for a simple json diff tool and found this one. Unfortunatly the Readme does not explain which format the output has. Please add a few lnes about this to the Readme. Thanks.","iid":11,"updated_by_id":null,"weight":null,"confidential":false,"due_date":null,"lock_version":1,"time_estimate":0,"relative_position":1073747323,"last_edited_at":null,"last_edited_by_id":null,"discussion_locked":null,"closed_at":null,"closed_by_id":null,"health_status":null,"external_key":null,"state":"opened","events":[{"project_id":2174499,"author_id":43767,"created_at":"2019-10-06T15:08:59.336Z","updated_at":"2019-10-06T15:08:59.336Z","action":"created","target_type":"Issue","fingerprint":null}],"timelogs":[],"notes":[],"label_links":[],"resource_label_events":[],"resource_milestone_events":[],"resource_state_events":[],"designs":[],"design_versions":[],"issue_assignees":[],"zoom_meetings":[],"award_emoji":[{"name":"thumbsup","user_id":2859531,"awardable_type":"Issue","created_at":"2020-02-24T23:49:31.806Z","updated_at":"2020-02-24T23:49:31.806Z"}],"work_item_type":{"base_type":"issue"},"resource_iteration_events":[]}
+{"title":"pip install errors on Linux container - the file open call in setup.py should explicitly specify encoding.","author_id":5939071,"project_id":2174499,"created_at":"2020-05-06T17:35:15.483Z","updated_at":"2020-05-06T17:39:57.316Z","description":"```root@d9de3cf71859:/usr/src/node-red# python3 -m pip install json-diff\nCollecting json-diff\n Using cached https://files.pythonhosted.org/packages/6a/48/f6106761581a54d370ac8342ab81a6414548ae72eb126c2a650b5a590252/json_diff-1.5.0.tar.gz\n Complete output from command python setup.py egg_info:\n Traceback (most recent call last):\n File \"\u003cstring\u003e\", line 1, in \u003cmodule\u003e\n File \"/tmp/pip-build-8z02at46/json-diff/setup.py\", line 28, in \u003cmodule\u003e\n long_description=get_long_description(),\n File \"/tmp/pip-build-8z02at46/json-diff/setup.py\", line 17, in get_long_description\n + read(\"NEWS.txt\")\n File \"/tmp/pip-build-8z02at46/json-diff/setup.py\", line 9, in read\n out = \"\\n\" + f.read().replace(\"\\r\\n\", \"\\n\")\n File \"/usr/local/lib/python3.6/encodings/ascii.py\", line 26, in decode\n return codecs.ascii_decode(input, self.errors)[0]\n UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 199: ordinal not in range(128)\n \n ----------------------------------------\nCommand \"python setup.py egg_info\" failed with error code 1 in /tmp/pip-build-8z02at46/json-diff/\nYou are using pip version 9.0.3, however version 20.1 is available.\nYou should consider upgrading via the 'pip install --upgrade pip' command.\nroot@d9de3cf71859:/usr/src/node-red# pip\nbash: pip: command not found\nroot@d9de3cf71859:/usr/src/node-red# pip install --upgrade pip\nbash: pip: command not found\nroot@d9de3cf71859:/usr/src/node-red# uname -a\nLinux d9de3cf71859 4.9.125-linuxkit #1 SMP Fri Sep 7 08:20:28 UTC 2018 x86_64 GNU/Linux\nroot@d9de3cf71859:/usr/src/node-red# \n```","iid":12,"updated_by_id":5939071,"weight":null,"confidential":true,"due_date":null,"lock_version":2,"time_estimate":0,"relative_position":1073747823,"last_edited_at":"2020-05-06T17:39:57.310Z","last_edited_by_id":5939071,"discussion_locked":null,"closed_at":null,"closed_by_id":null,"health_status":null,"external_key":null,"state":"opened","events":[{"project_id":2174499,"author_id":5939071,"created_at":"2020-05-06T17:35:15.575Z","updated_at":"2020-05-06T17:35:15.575Z","action":"created","target_type":"Issue","fingerprint":null}],"timelogs":[],"notes":[{"note":"changed title from **pip install errors on Linux container - {-something in one of the text files, a non-ascii character in setup.py?-}** to **pip install errors on Linux container - {+the file open call in setup.py should explicitly specify encoding.+}**","noteable_type":"Issue","author_id":5939071,"created_at":"2020-05-06T17:39:57.345Z","updated_at":"2020-05-06T17:39:57.346Z","project_id":2174499,"attachment":{"url":null},"line_code":null,"commit_id":null,"st_diff":null,"system":true,"updated_by_id":null,"type":null,"position":null,"original_position":null,"resolved_at":null,"resolved_by_id":null,"discussion_id":"9c12f94af41e829033c62ce2dbfef9cc2e03b81b","change_position":null,"resolved_by_push":null,"confidential":null,"last_edited_at":"2020-05-06T17:39:57.346Z","author":{"name":"Vik Nag"},"award_emoji":[],"system_note_metadata":{"commit_count":null,"action":"title","created_at":"2020-05-06T17:39:57.365Z","updated_at":"2020-05-06T17:39:57.365Z"},"events":[]}],"label_links":[],"resource_label_events":[],"resource_milestone_events":[],"resource_state_events":[],"designs":[],"design_versions":[],"issue_assignees":[],"zoom_meetings":[],"award_emoji":[],"work_item_type":{"base_type":"issue"},"resource_iteration_events":[]}
+{"title":"Recursion depth error when processing null element with main","author_id":167040,"project_id":2174499,"created_at":"2021-05-19T09:17:24.400Z","updated_at":"2021-05-21T14:25:43.822Z","description":"Hello Matej, \n\nI've tried json_diff yesterday, and ran into a recursion depth error when processing some json files through the main. Nb: I was using an older version with python 2.7. \n\nI ran some more tests, and found out that: \njson_diff.Comparator().compare_dicts(json.load(open(f1)), json.load(open(f2))) =\u003e works correcly\njson_diff.Comparator(open(f1)), open(f2)).compare_dicts() =\u003e throws a recursion depth error\n\nI think this stems from the fact that my json contains some null values. When delving recursively into the structure, when compare_dicts encounters a null, it uses the obj1 or obj2 from the init, and starts over from the beginning. \n\nI haven't tried to fix it yet, but I think it's not useful to store the objects in the class, and the main could call Comparator(opts=options).compare_dicts(json.load(open(f1)), json.load(open(f2)).","iid":13,"updated_by_id":167040,"weight":null,"confidential":false,"due_date":null,"lock_version":2,"time_estimate":0,"relative_position":1073748336,"last_edited_at":"2021-05-19T14:26:14.893Z","last_edited_by_id":167040,"discussion_locked":null,"closed_at":null,"closed_by_id":null,"health_status":null,"external_key":null,"state":"opened","events":[{"project_id":2174499,"author_id":167040,"created_at":"2021-05-19T09:17:24.493Z","updated_at":"2021-05-19T09:17:24.493Z","action":"created","target_type":"Issue","fingerprint":null}],"timelogs":[],"notes":[{"note":"Do you want to take over this project? It was seven years or so when I lost interest in this script, if you want to take it over, it is free for adoption both here and on PyPI.","noteable_type":"Issue","author_id":53909,"created_at":"2021-05-21T14:25:43.757Z","updated_at":"2021-05-21T14:25:43.757Z","project_id":2174499,"attachment":{"url":null},"line_code":null,"commit_id":null,"st_diff":null,"system":false,"updated_by_id":null,"type":null,"position":null,"original_position":null,"resolved_at":null,"resolved_by_id":null,"discussion_id":"bafe6a7b2a98cd990e9d652f5d2d2efbc9b38a18","change_position":null,"resolved_by_push":null,"confidential":false,"last_edited_at":"2021-05-21T14:25:43.757Z","author":{"name":"Matěj Cepl"},"award_emoji":[],"events":[{"project_id":2174499,"author_id":53909,"created_at":"2021-05-21T14:25:44.054Z","updated_at":"2021-05-21T14:25:44.054Z","action":"commented","target_type":"Note","fingerprint":null}]},{"note":"changed the description","noteable_type":"Issue","author_id":167040,"created_at":"2021-05-19T14:26:15.215Z","updated_at":"2021-05-19T14:26:15.217Z","project_id":2174499,"attachment":{"url":null},"line_code":null,"commit_id":null,"st_diff":null,"system":true,"updated_by_id":null,"type":null,"position":null,"original_position":null,"resolved_at":null,"resolved_by_id":null,"discussion_id":"7c845dedb5a854bdc8f262047bf72ee21c3b4a7e","change_position":null,"resolved_by_push":null,"confidential":null,"last_edited_at":"2021-05-19T14:26:15.217Z","author":{"name":"Francois"},"award_emoji":[],"system_note_metadata":{"commit_count":null,"action":"description","created_at":"2021-05-19T14:26:15.237Z","updated_at":"2021-05-19T14:26:15.237Z"},"events":[]}],"label_links":[],"resource_label_events":[],"resource_milestone_events":[],"resource_state_events":[],"designs":[],"design_versions":[],"issue_assignees":[],"zoom_meetings":[],"award_emoji":[],"work_item_type":{"base_type":"issue"},"resource_iteration_events":[]}
+{"title":"cannot process UTF-8 files ('charmap' codec can't decode byte 0x81 in position 2071: character maps to \u003cundefined\u003e)","author_id":741962,"project_id":2174499,"created_at":"2022-11-11T15:32:34.425Z","updated_at":"2022-11-11T16:02:31.206Z","description":"This is probably problem with UTF-8 encoding according to [some similar issue](https://github.com/mwouts/jupytext/issues/770). I ran the script (installed with pip) on Windows 10 with \"Python 3.11.0 (main, Oct 24 2022, 18:26:48) [MSC v.1933 64 bit (AMD64)] on win32\" on 2 UTF-8 files with czech characters. One file had CRLF line endings, the second one LF.\n\nFull traceback:\n```\nTraceback (most recent call last):\n File \"C:\\Users\\$me\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\json_diff.py\", line 153, in __init__\n self.obj1 = json.load(fn1)\n ^^^^^^^^^^^^^^\n File \"C:\\Users\\$me\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\json\\__init__.py\", line 293, in load\n return loads(fp.read(),\n ^^^^^^^^^\n File \"C:\\Users\\$me\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\encodings\\cp1250.py\", line 23, in decode\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nUnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 1255: character maps to \u003cundefined\u003e\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"C:\\Users\\$me\\AppData\\Local\\Programs\\Python\\Python311\\Scripts\\json_diff-script.py\", line 33, in \u003cmodule\u003e\n sys.exit(load_entry_point('json-diff==1.5.0', 'console_scripts', 'json_diff')())\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"C:\\Users\\$me\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\json_diff.py\", line 369, in main\n diff = Comparator(old_file, new_file, options)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"C:\\Users\\$me\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\json_diff.py\", line 155, in __init__\n raise BadJSONError(\"Cannot decode object from JSON.\\n%s\" %\njson_diff.BadJSONError: Cannot decode object from JSON.\n'charmap' codec can't decode byte 0x81 in position 1255: character maps to \u003cundefined\u003e\n```","iid":14,"updated_by_id":741962,"weight":null,"confidential":false,"due_date":null,"lock_version":1,"time_estimate":0,"relative_position":1073748849,"last_edited_at":"2022-11-11T15:59:57.340Z","last_edited_by_id":741962,"discussion_locked":null,"closed_at":null,"closed_by_id":null,"health_status":null,"external_key":null,"state":"opened","events":[{"project_id":2174499,"author_id":741962,"created_at":"2022-11-11T15:32:34.586Z","updated_at":"2022-11-11T15:32:34.586Z","action":"created","target_type":"Issue","fingerprint":null}],"timelogs":[],"notes":[{"note":"The fix should be adding explicit `encoding=\"utf-8\"` parameters to function `open`, like stated in [mentioned issue](https://github.com/mwouts/jupytext/issues/770).","noteable_type":"Issue","author_id":741962,"created_at":"2022-11-11T15:38:58.594Z","updated_at":"2022-11-11T16:02:31.280Z","project_id":2174499,"attachment":{"url":null},"line_code":null,"commit_id":null,"st_diff":null,"system":false,"updated_by_id":null,"type":"DiscussionNote","position":null,"original_position":null,"resolved_at":null,"resolved_by_id":null,"discussion_id":"31951a990cd59207a7df80f10a795b5db4e66b86","change_position":null,"resolved_by_push":null,"confidential":null,"last_edited_at":"2022-11-11T16:02:31.280Z","author":{"name":"Tomáš Hudziec"},"award_emoji":[],"events":[{"project_id":2174499,"author_id":741962,"created_at":"2022-11-11T15:38:58.868Z","updated_at":"2022-11-11T15:38:58.868Z","action":"commented","target_type":"Note","fingerprint":null}]},{"note":"Hmm, after fixing the encoding in this way another error comes:\n```\nTraceback (most recent call last):\n File \"C:\\Users\\$me\\AppData\\Local\\Programs\\Python\\Python311\\Scripts\\json_diff-script.py\", line 33, in \u003cmodule\u003e\n sys.exit(load_entry_point('json-diff==1.5.0', 'console_scripts', 'json_diff')())\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"C:\\Users\\$me\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\json_diff.py\", line 370, in main\n diff_res = diff.compare_dicts()\n ^^^^^^^^^^^^^^^^^^^^\n File \"C:\\Users\\$me\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\json_diff.py\", line 305, in compare_dicts\n old_keys = set(old_obj.keys())\n ^^^^^^^^^^^^\nAttributeError: 'list' object has no attribute 'keys'\n```\nBut this I am leaving for someone else :)","noteable_type":"Issue","author_id":741962,"created_at":"2022-11-11T16:02:31.146Z","updated_at":"2022-11-11T16:02:31.146Z","project_id":2174499,"attachment":{"url":null},"line_code":null,"commit_id":null,"st_diff":null,"system":false,"updated_by_id":null,"type":"DiscussionNote","position":null,"original_position":null,"resolved_at":null,"resolved_by_id":null,"discussion_id":"31951a990cd59207a7df80f10a795b5db4e66b86","change_position":null,"resolved_by_push":null,"confidential":false,"last_edited_at":"2022-11-11T16:02:31.146Z","author":{"name":"Tomáš Hudziec"},"award_emoji":[],"events":[]},{"note":"changed the description","noteable_type":"Issue","author_id":741962,"created_at":"2022-11-11T15:59:57.691Z","updated_at":"2022-11-11T15:59:57.692Z","project_id":2174499,"attachment":{"url":null},"line_code":null,"commit_id":null,"st_diff":null,"system":true,"updated_by_id":null,"type":null,"position":null,"original_position":null,"resolved_at":null,"resolved_by_id":null,"discussion_id":"74dbac57b47f4a759c16b59588f22c7db96fe9d1","change_position":null,"resolved_by_push":null,"confidential":null,"last_edited_at":"2022-11-11T15:59:57.692Z","author":{"name":"Tomáš Hudziec"},"award_emoji":[],"system_note_metadata":{"commit_count":null,"action":"description","created_at":"2022-11-11T15:59:57.711Z","updated_at":"2022-11-11T15:59:57.711Z"},"events":[]}],"label_links":[],"resource_label_events":[],"resource_milestone_events":[],"resource_state_events":[],"designs":[],"design_versions":[],"issue_assignees":[],"zoom_meetings":[],"award_emoji":[],"work_item_type":{"base_type":"issue"},"resource_iteration_events":[]}
diff --git a/issues.json b/issues.json
new file mode 100644
index 0000000..eeb9336
--- /dev/null
+++ b/issues.json
@@ -0,0 +1,2177 @@
+[
+{
+ "title": "Add output option",
+ "author_id": 53909,
+ "project_id": 2174499,
+ "created_at": "2017-01-13T12:47:14.323Z",
+ "updated_at": "2018-06-25T03:50:17.723Z",
+ "description": "json_diff -o filename may be helpful in some QA scripts.",
+ "iid": 8,
+ "updated_by_id": null,
+ "weight": null,
+ "confidential": false,
+ "due_date": null,
+ "lock_version": 1,
+ "time_estimate": 0,
+ "relative_position": 1073742323,
+ "last_edited_at": null,
+ "last_edited_by_id": null,
+ "discussion_locked": null,
+ "closed_at": null,
+ "closed_by_id": null,
+ "health_status": null,
+ "external_key": null,
+ "state": "closed",
+ "events": [],
+ "timelogs": [],
+ "notes": [
+ {
+ "note": "Fixed in [2229c24]",
+ "noteable_type": "Issue",
+ "author_id": 53909,
+ "created_at": "2017-01-13T12:47:17.702Z",
+ "updated_at": "2017-01-13T12:47:17.702Z",
+ "project_id": 2174499,
+ "attachment": {
+ "url": null
+ },
+ "line_code": null,
+ "commit_id": null,
+ "st_diff": null,
+ "system": false,
+ "updated_by_id": null,
+ "type": null,
+ "position": null,
+ "original_position": null,
+ "resolved_at": null,
+ "resolved_by_id": null,
+ "discussion_id": "d9679cd0ae4a6f98d37882270f6bbed9aad84e67",
+ "change_position": null,
+ "resolved_by_push": null,
+ "confidential": null,
+ "last_edited_at": "2017-01-13T12:47:17.702Z",
+ "author": {
+ "name": "Matěj Cepl"
+ },
+ "award_emoji": [],
+ "events": []
+ },
+ {
+ "note": "closed",
+ "noteable_type": "Issue",
+ "author_id": 53909,
+ "created_at": "2017-01-13T12:47:15.780Z",
+ "updated_at": "2017-01-13T12:47:15.780Z",
+ "project_id": 2174499,
+ "attachment": {
+ "url": null
+ },
+ "line_code": null,
+ "commit_id": null,
+ "st_diff": null,
+ "system": true,
+ "updated_by_id": null,
+ "type": null,
+ "position": null,
+ "original_position": null,
+ "resolved_at": null,
+ "resolved_by_id": null,
+ "discussion_id": "d9679cd0ae4a6f98d37882270f6bbed9aad84e67",
+ "change_position": null,
+ "resolved_by_push": null,
+ "confidential": null,
+ "last_edited_at": "2017-01-13T12:47:15.780Z",
+ "author": {
+ "name": "Matěj Cepl"
+ },
+ "award_emoji": [],
+ "events": []
+ }
+ ],
+ "label_links": [
+ {
+ "target_type": "Issue",
+ "created_at": "2017-01-13T12:47:14.351Z",
+ "updated_at": "2017-01-13T12:47:14.351Z",
+ "label": {
+ "title": "enhancement",
+ "color": "#428BCA",
+ "project_id": 2174499,
+ "created_at": "2016-12-16T14:54:27.498Z",
+ "updated_at": "2016-12-16T14:54:27.498Z",
+ "template": false,
+ "description": null,
+ "group_id": null,
+ "type": "ProjectLabel",
+ "priorities": []
+ }
+ },
+ {
+ "target_type": "Issue",
+ "created_at": "2017-01-13T12:47:14.364Z",
+ "updated_at": "2017-01-13T12:47:14.364Z",
+ "label": {
+ "title": "general",
+ "color": "#428BCA",
+ "project_id": 2174499,
+ "created_at": "2017-01-13T12:47:00.101Z",
+ "updated_at": "2017-01-13T12:47:00.101Z",
+ "template": false,
+ "description": null,
+ "group_id": null,
+ "type": "ProjectLabel",
+ "priorities": []
+ }
+ },
+ {
+ "target_type": "Issue",
+ "created_at": "2017-01-13T12:47:14.371Z",
+ "updated_at": "2017-01-13T12:47:14.371Z",
+ "label": {
+ "title": "enhancement",
+ "color": "#428BCA",
+ "project_id": 2174499,
+ "created_at": "2016-12-16T14:54:27.498Z",
+ "updated_at": "2016-12-16T14:54:27.498Z",
+ "template": false,
+ "description": null,
+ "group_id": null,
+ "type": "ProjectLabel",
+ "priorities": []
+ }
+ }
+ ],
+ "resource_label_events": [],
+ "resource_milestone_events": [],
+ "resource_state_events": [],
+ "designs": [],
+ "design_versions": [],
+ "issue_assignees": [],
+ "zoom_meetings": [],
+ "award_emoji": [],
+ "work_item_type": {
+ "base_type": "issue"
+ },
+ "resource_iteration_events": []
+},
+{
+ "title": "test_large_recursive_file files",
+ "author_id": 53909,
+ "project_id": 2174499,
+ "created_at": "2017-01-13T12:47:10.429Z",
+ "updated_at": "2018-06-25T03:50:17.781Z",
+ "description": "`python setup.py test` fails",
+ "iid": 7,
+ "updated_by_id": null,
+ "weight": null,
+ "confidential": false,
+ "due_date": null,
+ "lock_version": 1,
+ "time_estimate": 0,
+ "relative_position": 1073742823,
+ "last_edited_at": null,
+ "last_edited_by_id": null,
+ "discussion_locked": null,
+ "closed_at": null,
+ "closed_by_id": null,
+ "health_status": null,
+ "external_key": null,
+ "state": "closed",
+ "events": [],
+ "timelogs": [],
+ "notes": [
+ {
+ "note": "duplicate of #3",
+ "noteable_type": "Issue",
+ "author_id": 53909,
+ "created_at": "2017-01-13T12:50:47.975Z",
+ "updated_at": "2017-01-13T12:50:47.975Z",
+ "project_id": 2174499,
+ "attachment": {
+ "url": null
+ },
+ "line_code": null,
+ "commit_id": "",
+ "st_diff": null,
+ "system": false,
+ "updated_by_id": null,
+ "type": null,
+ "position": null,
+ "original_position": null,
+ "resolved_at": null,
+ "resolved_by_id": null,
+ "discussion_id": "ddc443df1120e98f41ccde4df3407174d1e738fd",
+ "change_position": null,
+ "resolved_by_push": null,
+ "confidential": null,
+ "last_edited_at": "2017-01-13T12:50:47.975Z",
+ "author": {
+ "name": "Matěj Cepl"
+ },
+ "award_emoji": [],
+ "events": []
+ },
+ {
+ "note": "log of the testing run",
+ "noteable_type": "Issue",
+ "author_id": 53909,
+ "created_at": "2017-01-13T12:47:12.648Z",
+ "updated_at": "2017-01-13T12:47:12.648Z",
+ "project_id": 2174499,
+ "attachment": {
+ "url": null
+ },
+ "line_code": null,
+ "commit_id": null,
+ "st_diff": null,
+ "system": false,
+ "updated_by_id": null,
+ "type": null,
+ "position": null,
+ "original_position": null,
+ "resolved_at": null,
+ "resolved_by_id": null,
+ "discussion_id": "ddc443df1120e98f41ccde4df3407174d1e738fd",
+ "change_position": null,
+ "resolved_by_push": null,
+ "confidential": null,
+ "last_edited_at": "2017-01-13T12:47:12.648Z",
+ "author": {
+ "name": "Matěj Cepl"
+ },
+ "award_emoji": [],
+ "events": []
+ },
+ {
+ "note": "closed",
+ "noteable_type": "Issue",
+ "author_id": 53909,
+ "created_at": "2017-01-13T12:50:47.984Z",
+ "updated_at": "2017-01-13T12:50:47.984Z",
+ "project_id": 2174499,
+ "attachment": {
+ "url": null
+ },
+ "line_code": null,
+ "commit_id": null,
+ "st_diff": null,
+ "system": true,
+ "updated_by_id": null,
+ "type": null,
+ "position": null,
+ "original_position": null,
+ "resolved_at": null,
+ "resolved_by_id": null,
+ "discussion_id": "ddc443df1120e98f41ccde4df3407174d1e738fd",
+ "change_position": null,
+ "resolved_by_push": null,
+ "confidential": null,
+ "last_edited_at": "2017-01-13T12:50:47.984Z",
+ "author": {
+ "name": "Matěj Cepl"
+ },
+ "award_emoji": [],
+ "events": []
+ }
+ ],
+ "label_links": [
+ {
+ "target_type": "Issue",
+ "created_at": "2017-01-13T12:47:10.470Z",
+ "updated_at": "2017-01-13T12:47:10.470Z",
+ "label": {
+ "title": "defect",
+ "color": "#428BCA",
+ "project_id": 2174499,
+ "created_at": "2016-12-16T14:54:06.516Z",
+ "updated_at": "2016-12-16T14:54:06.516Z",
+ "template": false,
+ "description": null,
+ "group_id": null,
+ "type": "ProjectLabel",
+ "priorities": []
+ }
+ },
+ {
+ "target_type": "Issue",
+ "created_at": "2017-01-13T12:47:10.488Z",
+ "updated_at": "2017-01-13T12:47:10.488Z",
+ "label": {
+ "title": "general",
+ "color": "#428BCA",
+ "project_id": 2174499,
+ "created_at": "2017-01-13T12:47:00.101Z",
+ "updated_at": "2017-01-13T12:47:00.101Z",
+ "template": false,
+ "description": null,
+ "group_id": null,
+ "type": "ProjectLabel",
+ "priorities": []
+ }
+ },
+ {
+ "target_type": "Issue",
+ "created_at": "2017-01-13T12:47:10.495Z",
+ "updated_at": "2017-01-13T12:47:10.495Z",
+ "label": {
+ "title": "defect",
+ "color": "#428BCA",
+ "project_id": 2174499,
+ "created_at": "2016-12-16T14:54:06.516Z",
+ "updated_at": "2016-12-16T14:54:06.516Z",
+ "template": false,
+ "description": null,
+ "group_id": null,
+ "type": "ProjectLabel",
+ "priorities": []
+ }
+ }
+ ],
+ "resource_label_events": [],
+ "resource_milestone_events": [],
+ "resource_state_events": [],
+ "designs": [],
+ "design_versions": [],
+ "issue_assignees": [],
+ "zoom_meetings": [],
+ "award_emoji": [],
+ "work_item_type": {
+ "base_type": "issue"
+ },
+ "resource_iteration_events": []
+},
+{
+ "title": "encoding again",
+ "author_id": 53909,
+ "project_id": 2174499,
+ "created_at": "2017-01-13T12:47:05.381Z",
+ "updated_at": "2018-06-25T03:50:17.818Z",
+ "description": "mitmanek:devConf-xcal (master) $ json_diff csv_data.json json_data.json \n Traceback (most recent call last):\n File \"/usr/bin/json_diff\", line 369, in <module>\n main_res = main(sys.argv)\n File \"/usr/bin/json_diff\", line 361, in main\n print(outs.encode(locale.getpreferredencoding(do_setlocale=False)))\n UnicodeEncodeError: 'ascii' codec can't encode character u'\\u2013' in position 164: ordinal not in range(128)\n mitmanek:devConf-xcal (master) $",
+ "iid": 6,
+ "updated_by_id": null,
+ "weight": null,
+ "confidential": false,
+ "due_date": null,
+ "lock_version": 1,
+ "time_estimate": 0,
+ "relative_position": 1073743323,
+ "last_edited_at": null,
+ "last_edited_by_id": null,
+ "discussion_locked": null,
+ "closed_at": null,
+ "closed_by_id": null,
+ "health_status": null,
+ "external_key": null,
+ "state": "closed",
+ "events": [],
+ "timelogs": [],
+ "notes": [
+ {
+ "note": "Fixed in [e98e114]",
+ "noteable_type": "Issue",
+ "author_id": 53909,
+ "created_at": "2017-01-13T12:47:08.684Z",
+ "updated_at": "2017-01-13T12:47:08.684Z",
+ "project_id": 2174499,
+ "attachment": {
+ "url": null
+ },
+ "line_code": null,
+ "commit_id": null,
+ "st_diff": null,
+ "system": false,
+ "updated_by_id": null,
+ "type": null,
+ "position": null,
+ "original_position": null,
+ "resolved_at": null,
+ "resolved_by_id": null,
+ "discussion_id": "4280b84c4551c164cc665197da40380241b7e915",
+ "change_position": null,
+ "resolved_by_push": null,
+ "confidential": null,
+ "last_edited_at": "2017-01-13T12:47:08.684Z",
+ "author": {
+ "name": "Matěj Cepl"
+ },
+ "award_emoji": [],
+ "events": []
+ },
+ {
+ "note": "closed",
+ "noteable_type": "Issue",
+ "author_id": 53909,
+ "created_at": "2017-01-13T12:47:06.718Z",
+ "updated_at": "2017-01-13T12:47:06.718Z",
+ "project_id": 2174499,
+ "attachment": {
+ "url": null
+ },
+ "line_code": null,
+ "commit_id": null,
+ "st_diff": null,
+ "system": true,
+ "updated_by_id": null,
+ "type": null,
+ "position": null,
+ "original_position": null,
+ "resolved_at": null,
+ "resolved_by_id": null,
+ "discussion_id": "4280b84c4551c164cc665197da40380241b7e915",
+ "change_position": null,
+ "resolved_by_push": null,
+ "confidential": null,
+ "last_edited_at": "2017-01-13T12:47:06.718Z",
+ "author": {
+ "name": "Matěj Cepl"
+ },
+ "award_emoji": [],
+ "events": []
+ }
+ ],
+ "label_links": [
+ {
+ "target_type": "Issue",
+ "created_at": "2017-01-13T12:47:05.422Z",
+ "updated_at": "2017-01-13T12:47:05.422Z",
+ "label": {
+ "title": "defect",
+ "color": "#428BCA",
+ "project_id": 2174499,
+ "created_at": "2016-12-16T14:54:06.516Z",
+ "updated_at": "2016-12-16T14:54:06.516Z",
+ "template": false,
+ "description": null,
+ "group_id": null,
+ "type": "ProjectLabel",
+ "priorities": []
+ }
+ },
+ {
+ "target_type": "Issue",
+ "created_at": "2017-01-13T12:47:05.430Z",
+ "updated_at": "2017-01-13T12:47:05.430Z",
+ "label": {
+ "title": "general",
+ "color": "#428BCA",
+ "project_id": 2174499,
+ "created_at": "2017-01-13T12:47:00.101Z",
+ "updated_at": "2017-01-13T12:47:00.101Z",
+ "template": false,
+ "description": null,
+ "group_id": null,
+ "type": "ProjectLabel",
+ "priorities": []
+ }
+ },
+ {
+ "target_type": "Issue",
+ "created_at": "2017-01-13T12:47:05.436Z",
+ "updated_at": "2017-01-13T12:47:05.436Z",
+ "label": {
+ "title": "defect",
+ "color": "#428BCA",
+ "project_id": 2174499,
+ "created_at": "2016-12-16T14:54:06.516Z",
+ "updated_at": "2016-12-16T14:54:06.516Z",
+ "template": false,
+ "description": null,
+ "group_id": null,
+ "type": "ProjectLabel",
+ "priorities": []
+ }
+ }
+ ],
+ "resource_label_events": [],
+ "resource_milestone_events": [],
+ "resource_state_events": [],
+ "designs": [],
+ "design_versions": [],
+ "issue_assignees": [],
+ "zoom_meetings": [],
+ "award_emoji": [],
+ "work_item_type": {
+ "base_type": "issue"
+ },
+ "resource_iteration_events": []
+},
+{
+ "title": "change the project’s website to https://fedorahosted.org/json_diff/",
+ "author_id": 53909,
+ "project_id": 2174499,
+ "created_at": "2017-01-13T12:47:00.482Z",
+ "updated_at": "2018-06-25T03:50:17.869Z",
+ "description": "",
+ "iid": 5,
+ "updated_by_id": null,
+ "weight": null,
+ "confidential": false,
+ "due_date": null,
+ "lock_version": 1,
+ "time_estimate": 0,
+ "relative_position": 1073743823,
+ "last_edited_at": null,
+ "last_edited_by_id": null,
+ "discussion_locked": null,
+ "closed_at": null,
+ "closed_by_id": null,
+ "health_status": null,
+ "external_key": null,
+ "state": "closed",
+ "events": [],
+ "timelogs": [],
+ "notes": [
+ {
+ "note": "Fixed in [ddeec22]",
+ "noteable_type": "Issue",
+ "author_id": 53909,
+ "created_at": "2017-01-13T12:47:03.895Z",
+ "updated_at": "2017-01-13T12:47:03.895Z",
+ "project_id": 2174499,
+ "attachment": {
+ "url": null
+ },
+ "line_code": null,
+ "commit_id": null,
+ "st_diff": null,
+ "system": false,
+ "updated_by_id": null,
+ "type": null,
+ "position": null,
+ "original_position": null,
+ "resolved_at": null,
+ "resolved_by_id": null,
+ "discussion_id": "77985eafecf7ada2ed64e4738a25356b5fe1ce93",
+ "change_position": null,
+ "resolved_by_push": null,
+ "confidential": null,
+ "last_edited_at": "2017-01-13T12:47:03.895Z",
+ "author": {
+ "name": "Matěj Cepl"
+ },
+ "award_emoji": [],
+ "events": []
+ },
+ {
+ "note": "closed",
+ "noteable_type": "Issue",
+ "author_id": 53909,
+ "created_at": "2017-01-13T12:47:01.930Z",
+ "updated_at": "2017-01-13T12:47:01.930Z",
+ "project_id": 2174499,
+ "attachment": {
+ "url": null
+ },
+ "line_code": null,
+ "commit_id": null,
+ "st_diff": null,
+ "system": true,
+ "updated_by_id": null,
+ "type": null,
+ "position": null,
+ "original_position": null,
+ "resolved_at": null,
+ "resolved_by_id": null,
+ "discussion_id": "77985eafecf7ada2ed64e4738a25356b5fe1ce93",
+ "change_position": null,
+ "resolved_by_push": null,
+ "confidential": null,
+ "last_edited_at": "2017-01-13T12:47:01.930Z",
+ "author": {
+ "name": "Matěj Cepl"
+ },
+ "award_emoji": [],
+ "events": []
+ }
+ ],
+ "label_links": [
+ {
+ "target_type": "Issue",
+ "created_at": "2017-01-13T12:47:00.536Z",
+ "updated_at": "2017-01-13T12:47:00.536Z",
+ "label": {
+ "title": "defect",
+ "color": "#428BCA",
+ "project_id": 2174499,
+ "created_at": "2016-12-16T14:54:06.516Z",
+ "updated_at": "2016-12-16T14:54:06.516Z",
+ "template": false,
+ "description": null,
+ "group_id": null,
+ "type": "ProjectLabel",
+ "priorities": []
+ }
+ },
+ {
+ "target_type": "Issue",
+ "created_at": "2017-01-13T12:47:00.543Z",
+ "updated_at": "2017-01-13T12:47:00.543Z",
+ "label": {
+ "title": "general",
+ "color": "#428BCA",
+ "project_id": 2174499,
+ "created_at": "2017-01-13T12:47:00.101Z",
+ "updated_at": "2017-01-13T12:47:00.101Z",
+ "template": false,
+ "description": null,
+ "group_id": null,
+ "type": "ProjectLabel",
+ "priorities": []
+ }
+ },
+ {
+ "target_type": "Issue",
+ "created_at": "2017-01-13T12:47:00.549Z",
+ "updated_at": "2017-01-13T12:47:00.549Z",
+ "label": {
+ "title": "defect",
+ "color": "#428BCA",
+ "project_id": 2174499,
+ "created_at": "2016-12-16T14:54:06.516Z",
+ "updated_at": "2016-12-16T14:54:06.516Z",
+ "template": false,
+ "description": null,
+ "group_id": null,
+ "type": "ProjectLabel",
+ "priorities": []
+ }
+ }
+ ],
+ "resource_label_events": [],
+ "resource_milestone_events": [],
+ "resource_state_events": [],
+ "designs": [],
+ "design_versions": [],
+ "issue_assignees": [],
+ "zoom_meetings": [],
+ "award_emoji": [],
+ "work_item_type": {
+ "base_type": "issue"
+ },
+ "resource_iteration_events": []
+},
+{
+ "title": "Add output option",
+ "author_id": 53909,
+ "project_id": 2174499,
+ "created_at": "2016-12-16T14:54:28.122Z",
+ "updated_at": "2018-06-25T03:50:17.923Z",
+ "description": "json_diff -o filename may be helpful in some QA scripts.",
+ "iid": 4,
+ "updated_by_id": 53909,
+ "weight": null,
+ "confidential": false,
+ "due_date": null,
+ "lock_version": 1,
+ "time_estimate": 0,
+ "relative_position": 1073744323,
+ "last_edited_at": null,
+ "last_edited_by_id": null,
+ "discussion_locked": null,
+ "closed_at": null,
+ "closed_by_id": null,
+ "health_status": null,
+ "external_key": null,
+ "state": "closed",
+ "events": [],
+ "timelogs": [],
+ "notes": [
+ {
+ "note": "Fixed in [2229c24]",
+ "noteable_type": "Issue",
+ "author_id": 53909,
+ "created_at": "2016-12-16T14:54:31.000Z",
+ "updated_at": "2016-12-16T14:54:31.000Z",
+ "project_id": 2174499,
+ "attachment": {
+ "url": null
+ },
+ "line_code": null,
+ "commit_id": null,
+ "st_diff": null,
+ "system": false,
+ "updated_by_id": null,
+ "type": null,
+ "position": null,
+ "original_position": null,
+ "resolved_at": null,
+ "resolved_by_id": null,
+ "discussion_id": "faa7e62a3f8bc8d445a7d88871c9d1ca9a239738",
+ "change_position": null,
+ "resolved_by_push": null,
+ "confidential": null,
+ "last_edited_at": "2016-12-16T14:54:31.000Z",
+ "author": {
+ "name": "Matěj Cepl"
+ },
+ "award_emoji": [],
+ "events": []
+ },
+ {
+ "note": "closed",
+ "noteable_type": "Issue",
+ "author_id": 53909,
+ "created_at": "2016-12-16T14:54:29.305Z",
+ "updated_at": "2016-12-16T14:54:29.305Z",
+ "project_id": 2174499,
+ "attachment": {
+ "url": null
+ },
+ "line_code": null,
+ "commit_id": null,
+ "st_diff": null,
+ "system": true,
+ "updated_by_id": null,
+ "type": null,
+ "position": null,
+ "original_position": null,
+ "resolved_at": null,
+ "resolved_by_id": null,
+ "discussion_id": "faa7e62a3f8bc8d445a7d88871c9d1ca9a239738",
+ "change_position": null,
+ "resolved_by_push": null,
+ "confidential": null,
+ "last_edited_at": "2016-12-16T14:54:29.305Z",
+ "author": {
+ "name": "Matěj Cepl"
+ },
+ "award_emoji": [],
+ "events": []
+ }
+ ],
+ "label_links": [
+ {
+ "target_type": "Issue",
+ "created_at": "2016-12-16T14:54:28.186Z",
+ "updated_at": "2016-12-16T14:54:28.186Z",
+ "label": {
+ "title": "enhancement",
+ "color": "#428BCA",
+ "project_id": 2174499,
+ "created_at": "2016-12-16T14:54:27.498Z",
+ "updated_at": "2016-12-16T14:54:27.498Z",
+ "template": false,
+ "description": null,
+ "group_id": null,
+ "type": "ProjectLabel",
+ "priorities": []
+ }
+ },
+ {
+ "target_type": "Issue",
+ "created_at": "2016-12-16T14:54:28.220Z",
+ "updated_at": "2016-12-16T14:54:28.220Z",
+ "label": {
+ "title": "enhancement",
+ "color": "#428BCA",
+ "project_id": 2174499,
+ "created_at": "2016-12-16T14:54:27.498Z",
+ "updated_at": "2016-12-16T14:54:27.498Z",
+ "template": false,
+ "description": null,
+ "group_id": null,
+ "type": "ProjectLabel",
+ "priorities": []
+ }
+ }
+ ],
+ "resource_label_events": [],
+ "resource_milestone_events": [],
+ "resource_state_events": [],
+ "designs": [],
+ "design_versions": [],
+ "issue_assignees": [],
+ "zoom_meetings": [],
+ "award_emoji": [],
+ "work_item_type": {
+ "base_type": "issue"
+ },
+ "resource_iteration_events": []
+},
+{
+ "title": "encoding again",
+ "author_id": 53909,
+ "project_id": 2174499,
+ "created_at": "2016-12-16T14:54:18.427Z",
+ "updated_at": "2018-06-25T03:50:17.970Z",
+ "description": "mitmanek:devConf-xcal (master) $ json_diff csv_data.json json_data.json \n Traceback (most recent call last):\n File \"/usr/bin/json_diff\", line 369, in <module>\n main_res = main(sys.argv)\n File \"/usr/bin/json_diff\", line 361, in main\n print(outs.encode(locale.getpreferredencoding(do_setlocale=False)))\n UnicodeEncodeError: 'ascii' codec can't encode character u'\\u2013' in position 164: ordinal not in range(128)\n mitmanek:devConf-xcal (master) $",
+ "iid": 2,
+ "updated_by_id": 53909,
+ "weight": null,
+ "confidential": false,
+ "due_date": null,
+ "lock_version": 1,
+ "time_estimate": 0,
+ "relative_position": 1073744823,
+ "last_edited_at": null,
+ "last_edited_by_id": null,
+ "discussion_locked": null,
+ "closed_at": null,
+ "closed_by_id": null,
+ "health_status": null,
+ "external_key": null,
+ "state": "closed",
+ "events": [],
+ "timelogs": [],
+ "notes": [
+ {
+ "note": "Fixed in [e98e114]",
+ "noteable_type": "Issue",
+ "author_id": 53909,
+ "created_at": "2016-12-16T14:54:22.795Z",
+ "updated_at": "2016-12-16T14:54:22.795Z",
+ "project_id": 2174499,
+ "attachment": {
+ "url": null
+ },
+ "line_code": null,
+ "commit_id": null,
+ "st_diff": null,
+ "system": false,
+ "updated_by_id": null,
+ "type": null,
+ "position": null,
+ "original_position": null,
+ "resolved_at": null,
+ "resolved_by_id": null,
+ "discussion_id": "e313009c3bcc4608874aac01a1c11f2d8e2c1913",
+ "change_position": null,
+ "resolved_by_push": null,
+ "confidential": null,
+ "last_edited_at": "2016-12-16T14:54:22.795Z",
+ "author": {
+ "name": "Matěj Cepl"
+ },
+ "award_emoji": [],
+ "events": []
+ },
+ {
+ "note": "closed",
+ "noteable_type": "Issue",
+ "author_id": 53909,
+ "created_at": "2016-12-16T14:54:20.000Z",
+ "updated_at": "2016-12-16T14:54:20.000Z",
+ "project_id": 2174499,
+ "attachment": {
+ "url": null
+ },
+ "line_code": null,
+ "commit_id": null,
+ "st_diff": null,
+ "system": true,
+ "updated_by_id": null,
+ "type": null,
+ "position": null,
+ "original_position": null,
+ "resolved_at": null,
+ "resolved_by_id": null,
+ "discussion_id": "e313009c3bcc4608874aac01a1c11f2d8e2c1913",
+ "change_position": null,
+ "resolved_by_push": null,
+ "confidential": null,
+ "last_edited_at": "2016-12-16T14:54:20.000Z",
+ "author": {
+ "name": "Matěj Cepl"
+ },
+ "award_emoji": [],
+ "events": []
+ }
+ ],
+ "label_links": [
+ {
+ "target_type": "Issue",
+ "created_at": "2016-12-16T14:54:18.493Z",
+ "updated_at": "2016-12-16T14:54:18.493Z",
+ "label": {
+ "title": "defect",
+ "color": "#428BCA",
+ "project_id": 2174499,
+ "created_at": "2016-12-16T14:54:06.516Z",
+ "updated_at": "2016-12-16T14:54:06.516Z",
+ "template": false,
+ "description": null,
+ "group_id": null,
+ "type": "ProjectLabel",
+ "priorities": []
+ }
+ },
+ {
+ "target_type": "Issue",
+ "created_at": "2016-12-16T14:54:18.519Z",
+ "updated_at": "2016-12-16T14:54:18.519Z",
+ "label": {
+ "title": "defect",
+ "color": "#428BCA",
+ "project_id": 2174499,
+ "created_at": "2016-12-16T14:54:06.516Z",
+ "updated_at": "2016-12-16T14:54:06.516Z",
+ "template": false,
+ "description": null,
+ "group_id": null,
+ "type": "ProjectLabel",
+ "priorities": []
+ }
+ }
+ ],
+ "resource_label_events": [],
+ "resource_milestone_events": [],
+ "resource_state_events": [],
+ "designs": [],
+ "design_versions": [],
+ "issue_assignees": [],
+ "zoom_meetings": [],
+ "award_emoji": [],
+ "work_item_type": {
+ "base_type": "issue"
+ },
+ "resource_iteration_events": []
+},
+{
+ "title": "change the project’s website to https://fedorahosted.org/json_diff/",
+ "author_id": 53909,
+ "project_id": 2174499,
+ "created_at": "2016-12-16T14:54:07.292Z",
+ "updated_at": "2018-06-25T03:50:18.011Z",
+ "description": null,
+ "iid": 1,
+ "updated_by_id": 53909,
+ "weight": null,
+ "confidential": false,
+ "due_date": null,
+ "lock_version": 1,
+ "time_estimate": 0,
+ "relative_position": 1073745323,
+ "last_edited_at": null,
+ "last_edited_by_id": null,
+ "discussion_locked": null,
+ "closed_at": null,
+ "closed_by_id": null,
+ "health_status": null,
+ "external_key": null,
+ "state": "closed",
+ "events": [],
+ "timelogs": [],
+ "notes": [
+ {
+ "note": "Fixed in [ddeec22]",
+ "noteable_type": "Issue",
+ "author_id": 53909,
+ "created_at": "2016-12-16T14:54:11.848Z",
+ "updated_at": "2016-12-16T14:54:11.848Z",
+ "project_id": 2174499,
+ "attachment": {
+ "url": null
+ },
+ "line_code": null,
+ "commit_id": null,
+ "st_diff": null,
+ "system": false,
+ "updated_by_id": null,
+ "type": null,
+ "position": null,
+ "original_position": null,
+ "resolved_at": null,
+ "resolved_by_id": null,
+ "discussion_id": "e9929bdd1795d0c5d26e16924ad56ed59fe3ae4c",
+ "change_position": null,
+ "resolved_by_push": null,
+ "confidential": null,
+ "last_edited_at": "2016-12-16T14:54:11.848Z",
+ "author": {
+ "name": "Matěj Cepl"
+ },
+ "award_emoji": [],
+ "events": []
+ },
+ {
+ "note": "closed",
+ "noteable_type": "Issue",
+ "author_id": 53909,
+ "created_at": "2016-12-16T14:54:09.330Z",
+ "updated_at": "2016-12-16T14:54:09.330Z",
+ "project_id": 2174499,
+ "attachment": {
+ "url": null
+ },
+ "line_code": null,
+ "commit_id": null,
+ "st_diff": null,
+ "system": true,
+ "updated_by_id": null,
+ "type": null,
+ "position": null,
+ "original_position": null,
+ "resolved_at": null,
+ "resolved_by_id": null,
+ "discussion_id": "e9929bdd1795d0c5d26e16924ad56ed59fe3ae4c",
+ "change_position": null,
+ "resolved_by_push": null,
+ "confidential": null,
+ "last_edited_at": "2016-12-16T14:54:09.330Z",
+ "author": {
+ "name": "Matěj Cepl"
+ },
+ "award_emoji": [],
+ "events": []
+ }
+ ],
+ "label_links": [
+ {
+ "target_type": "Issue",
+ "created_at": "2016-12-16T14:54:07.351Z",
+ "updated_at": "2016-12-16T14:54:07.351Z",
+ "label": {
+ "title": "defect",
+ "color": "#428BCA",
+ "project_id": 2174499,
+ "created_at": "2016-12-16T14:54:06.516Z",
+ "updated_at": "2016-12-16T14:54:06.516Z",
+ "template": false,
+ "description": null,
+ "group_id": null,
+ "type": "ProjectLabel",
+ "priorities": []
+ }
+ },
+ {
+ "target_type": "Issue",
+ "created_at": "2016-12-16T14:54:07.372Z",
+ "updated_at": "2016-12-16T14:54:07.372Z",
+ "label": {
+ "title": "defect",
+ "color": "#428BCA",
+ "project_id": 2174499,
+ "created_at": "2016-12-16T14:54:06.516Z",
+ "updated_at": "2016-12-16T14:54:06.516Z",
+ "template": false,
+ "description": null,
+ "group_id": null,
+ "type": "ProjectLabel",
+ "priorities": []
+ }
+ }
+ ],
+ "resource_label_events": [],
+ "resource_milestone_events": [],
+ "resource_state_events": [],
+ "designs": [],
+ "design_versions": [],
+ "issue_assignees": [],
+ "zoom_meetings": [],
+ "award_emoji": [],
+ "work_item_type": {
+ "base_type": "issue"
+ },
+ "resource_iteration_events": []
+},
+{
+ "title": "test_large_recursive_file files",
+ "author_id": 53909,
+ "project_id": 2174499,
+ "created_at": "2016-12-16T14:54:24.427Z",
+ "updated_at": "2018-06-25T03:50:19.645Z",
+ "description": "`python setup.py test` fails",
+ "iid": 3,
+ "updated_by_id": 53909,
+ "weight": null,
+ "confidential": false,
+ "due_date": null,
+ "lock_version": 1,
+ "time_estimate": 0,
+ "relative_position": 1073745823,
+ "last_edited_at": null,
+ "last_edited_by_id": null,
+ "discussion_locked": null,
+ "closed_at": null,
+ "closed_by_id": null,
+ "health_status": null,
+ "external_key": null,
+ "state": "opened",
+ "events": [],
+ "timelogs": [],
+ "notes": [
+ {
+ "note": "log of the testing run\r\n[json_diff_log.txt](/uploads/47d72f0100b2851a1eb00a655c5ded1d/json_diff_log.txt)",
+ "noteable_type": "Issue",
+ "author_id": 53909,
+ "created_at": "2016-12-16T14:54:26.504Z",
+ "updated_at": "2017-01-13T12:50:36.964Z",
+ "project_id": 2174499,
+ "attachment": {
+ "url": null
+ },
+ "line_code": null,
+ "commit_id": null,
+ "st_diff": null,
+ "system": false,
+ "updated_by_id": 53909,
+ "type": null,
+ "position": null,
+ "original_position": null,
+ "resolved_at": null,
+ "resolved_by_id": null,
+ "discussion_id": "1910b7a714fe7f8e309a5060cdccbbafdfd87f76",
+ "change_position": null,
+ "resolved_by_push": null,
+ "confidential": null,
+ "last_edited_at": "2017-01-13T12:50:36.964Z",
+ "author": {
+ "name": "Matěj Cepl"
+ },
+ "award_emoji": [],
+ "events": []
+ },
+ {
+ "note": "removed ~1107526 label",
+ "noteable_type": "Issue",
+ "author_id": 53909,
+ "created_at": "2016-12-16T15:26:24.750Z",
+ "updated_at": "2016-12-16T15:26:24.750Z",
+ "project_id": 2174499,
+ "attachment": {
+ "url": null
+ },
+ "line_code": null,
+ "commit_id": null,
+ "st_diff": null,
+ "system": true,
+ "updated_by_id": null,
+ "type": null,
+ "position": null,
+ "original_position": null,
+ "resolved_at": null,
+ "resolved_by_id": null,
+ "discussion_id": "1910b7a714fe7f8e309a5060cdccbbafdfd87f76",
+ "change_position": null,
+ "resolved_by_push": null,
+ "confidential": null,
+ "last_edited_at": "2016-12-16T15:26:24.750Z",
+ "author": {
+ "name": "Matěj Cepl"
+ },
+ "award_emoji": [],
+ "events": []
+ },
+ {
+ "note": "added ~1107525 label",
+ "noteable_type": "Issue",
+ "author_id": 53909,
+ "created_at": "2016-12-16T15:27:21.561Z",
+ "updated_at": "2016-12-16T15:27:21.561Z",
+ "project_id": 2174499,
+ "attachment": {
+ "url": null
+ },
+ "line_code": null,
+ "commit_id": null,
+ "st_diff": null,
+ "system": true,
+ "updated_by_id": null,
+ "type": null,
+ "position": null,
+ "original_position": null,
+ "resolved_at": null,
+ "resolved_by_id": null,
+ "discussion_id": "1910b7a714fe7f8e309a5060cdccbbafdfd87f76",
+ "change_position": null,
+ "resolved_by_push": null,
+ "confidential": null,
+ "last_edited_at": "2016-12-16T15:27:21.561Z",
+ "author": {
+ "name": "Matěj Cepl"
+ },
+ "award_emoji": [],
+ "events": []
+ },
+ {
+ "note": "removed ~1107525 ~1107525 labels",
+ "noteable_type": "Issue",
+ "author_id": 53909,
+ "created_at": "2016-12-16T15:27:16.656Z",
+ "updated_at": "2016-12-16T15:27:16.656Z",
+ "project_id": 2174499,
+ "attachment": {
+ "url": null
+ },
+ "line_code": null,
+ "commit_id": null,
+ "st_diff": null,
+ "system": true,
+ "updated_by_id": null,
+ "type": null,
+ "position": null,
+ "original_position": null,
+ "resolved_at": null,
+ "resolved_by_id": null,
+ "discussion_id": "1910b7a714fe7f8e309a5060cdccbbafdfd87f76",
+ "change_position": null,
+ "resolved_by_push": null,
+ "confidential": null,
+ "last_edited_at": "2016-12-16T15:27:16.656Z",
+ "author": {
+ "name": "Matěj Cepl"
+ },
+ "award_emoji": [],
+ "events": []
+ },
+ {
+ "note": "mentioned in issue #7",
+ "noteable_type": "Issue",
+ "author_id": 53909,
+ "created_at": "2017-01-13T12:50:53.210Z",
+ "updated_at": "2017-01-13T12:50:53.210Z",
+ "project_id": 2174499,
+ "attachment": {
+ "url": null
+ },
+ "line_code": null,
+ "commit_id": null,
+ "st_diff": null,
+ "system": true,
+ "updated_by_id": null,
+ "type": null,
+ "position": null,
+ "original_position": null,
+ "resolved_at": null,
+ "resolved_by_id": null,
+ "discussion_id": "1910b7a714fe7f8e309a5060cdccbbafdfd87f76",
+ "change_position": null,
+ "resolved_by_push": null,
+ "confidential": null,
+ "last_edited_at": "2017-01-13T12:50:53.210Z",
+ "author": {
+ "name": "Matěj Cepl"
+ },
+ "award_emoji": [],
+ "events": []
+ },
+ {
+ "note": "removed ~1107525 label",
+ "noteable_type": "Issue",
+ "author_id": 53909,
+ "created_at": "2017-01-13T12:51:09.073Z",
+ "updated_at": "2017-01-13T12:51:09.073Z",
+ "project_id": 2174499,
+ "attachment": {
+ "url": null
+ },
+ "line_code": null,
+ "commit_id": null,
+ "st_diff": null,
+ "system": true,
+ "updated_by_id": null,
+ "type": null,
+ "position": null,
+ "original_position": null,
+ "resolved_at": null,
+ "resolved_by_id": null,
+ "discussion_id": "1910b7a714fe7f8e309a5060cdccbbafdfd87f76",
+ "change_position": null,
+ "resolved_by_push": null,
+ "confidential": null,
+ "last_edited_at": "2017-01-13T12:51:09.073Z",
+ "author": {
+ "name": "Matěj Cepl"
+ },
+ "award_emoji": [],
+ "events": []
+ },
+ {
+ "note": "added ~1107525 label",
+ "noteable_type": "Issue",
+ "author_id": 53909,
+ "created_at": "2017-01-13T12:51:13.811Z",
+ "updated_at": "2017-01-13T12:51:13.811Z",
+ "project_id": 2174499,
+ "attachment": {
+ "url": null
+ },
+ "line_code": null,
+ "commit_id": null,
+ "st_diff": null,
+ "system": true,
+ "updated_by_id": null,
+ "type": null,
+ "position": null,
+ "original_position": null,
+ "resolved_at": null,
+ "resolved_by_id": null,
+ "discussion_id": "1910b7a714fe7f8e309a5060cdccbbafdfd87f76",
+ "change_position": null,
+ "resolved_by_push": null,
+ "confidential": null,
+ "last_edited_at": "2017-01-13T12:51:13.811Z",
+ "author": {
+ "name": "Matěj Cepl"
+ },
+ "award_emoji": [],
+ "events": []
+ }
+ ],
+ "label_links": [
+ {
+ "target_type": "Issue",
+ "created_at": "2017-01-13T12:51:13.753Z",
+ "updated_at": "2017-01-13T12:51:13.753Z",
+ "label": {
+ "title": "defect",
+ "color": "#428BCA",
+ "project_id": 2174499,
+ "created_at": "2016-12-16T14:54:06.516Z",
+ "updated_at": "2016-12-16T14:54:06.516Z",
+ "template": false,
+ "description": null,
+ "group_id": null,
+ "type": "ProjectLabel",
+ "priorities": []
+ }
+ }
+ ],
+ "resource_label_events": [],
+ "resource_milestone_events": [],
+ "resource_state_events": [],
+ "designs": [],
+ "design_versions": [],
+ "issue_assignees": [],
+ "zoom_meetings": [],
+ "award_emoji": [
+ {
+ "name": "thumbsup",
+ "user_id": 518488,
+ "awardable_type": "Issue",
+ "created_at": "2017-06-27T08:56:29.887Z",
+ "updated_at": "2017-06-27T08:56:29.887Z"
+ }
+ ],
+ "work_item_type": {
+ "base_type": "issue"
+ },
+ "resource_iteration_events": []
+},
+{
+ "title": "JSON is not required to be a dictionary",
+ "author_id": 519455,
+ "project_id": 2174499,
+ "created_at": "2019-02-06T01:57:40.823Z",
+ "updated_at": "2020-03-19T18:14:14.784Z",
+ "description": "As far as I can tell, all the test files use dictionaries as the top-level object. But JSON does not require this, and when I tried running it on a pair of files containing arrays, it crashed.\n\nAccording to the spec, `json` is made up of one `element`, and an `element` is made up of a `value` optionally surrounded by whitespace. A `value` is any of `object`, `array`, `string`, `number`, `\"true\"`, `\"false\"`, `\"null\"`.",
+ "iid": 9,
+ "updated_by_id": 519455,
+ "weight": null,
+ "confidential": false,
+ "due_date": null,
+ "lock_version": 2,
+ "time_estimate": 0,
+ "relative_position": 1073746323,
+ "last_edited_at": "2019-08-30T09:56:55.389Z",
+ "last_edited_by_id": 519455,
+ "discussion_locked": null,
+ "closed_at": null,
+ "closed_by_id": null,
+ "health_status": null,
+ "external_key": null,
+ "state": "opened",
+ "events": [
+ {
+ "project_id": 2174499,
+ "author_id": 519455,
+ "created_at": "2019-02-06T01:57:40.877Z",
+ "updated_at": "2019-02-06T01:57:40.877Z",
+ "action": "created",
+ "target_type": "Issue",
+ "fingerprint": null
+ }
+ ],
+ "timelogs": [],
+ "notes": [
+ {
+ "note": "Hmm, well, it's been ages since I filed this, but you can just generate one:\n\n```python\n$ ipython3\nIn [1]: import json\n\nIn [2]: with open('old.json', 'w') as f: json.dump([1, 2, 3], f) \n\nIn [3]: with open('new.json', 'w') as f: json.dump([1, 3, 3], f) \n```\n\n```pytb\n$ json_diff old.json new.json\nTraceback (most recent call last):\n File \".../bin/json_diff\", line 10, in <module>\n sys.exit(main())\n File \".../python3.7/site-packages/json_diff.py\", line 370, in main\n diff_res = diff.compare_dicts()\n File \".../python3.7/site-packages/json_diff.py\", line 305, in compare_dicts\n old_keys = set(old_obj.keys())\nAttributeError: 'list' object has no attribute 'keys'\n```",
+ "noteable_type": "Issue",
+ "author_id": 519455,
+ "created_at": "2019-08-30T10:05:06.399Z",
+ "updated_at": "2019-08-30T10:05:06.399Z",
+ "project_id": 2174499,
+ "attachment": {
+ "url": null
+ },
+ "line_code": null,
+ "commit_id": null,
+ "st_diff": null,
+ "system": false,
+ "updated_by_id": null,
+ "type": null,
+ "position": null,
+ "original_position": null,
+ "resolved_at": null,
+ "resolved_by_id": null,
+ "discussion_id": "075ab133aeead3faea5972e6f9d15125f097a728",
+ "change_position": null,
+ "resolved_by_push": null,
+ "confidential": null,
+ "last_edited_at": "2019-08-30T10:05:06.399Z",
+ "author": {
+ "name": "Elliott Sales de Andrade"
+ },
+ "award_emoji": [],
+ "events": [
+ {
+ "project_id": 2174499,
+ "author_id": 519455,
+ "created_at": "2019-08-30T10:05:06.706Z",
+ "updated_at": "2019-08-30T10:05:06.706Z",
+ "action": "commented",
+ "target_type": "Note",
+ "fingerprint": null
+ }
+ ]
+ },
+ {
+ "note": "Give me the example test data failing, please.",
+ "noteable_type": "Issue",
+ "author_id": 53909,
+ "created_at": "2019-08-25T20:14:27.542Z",
+ "updated_at": "2019-08-25T20:14:27.542Z",
+ "project_id": 2174499,
+ "attachment": {
+ "url": null
+ },
+ "line_code": null,
+ "commit_id": null,
+ "st_diff": null,
+ "system": false,
+ "updated_by_id": null,
+ "type": null,
+ "position": null,
+ "original_position": null,
+ "resolved_at": null,
+ "resolved_by_id": null,
+ "discussion_id": "f8310c236a7377b78315d93e9741ee0790ab4964",
+ "change_position": null,
+ "resolved_by_push": null,
+ "confidential": null,
+ "last_edited_at": "2019-08-25T20:14:27.542Z",
+ "author": {
+ "name": "Matěj Cepl"
+ },
+ "award_emoji": [],
+ "events": [
+ {
+ "project_id": 2174499,
+ "author_id": 53909,
+ "created_at": "2019-08-25T20:14:27.802Z",
+ "updated_at": "2019-08-25T20:14:27.802Z",
+ "action": "commented",
+ "target_type": "Note",
+ "fingerprint": null
+ }
+ ]
+ },
+ {
+ "note": "Same thing - this prevents me from using json-diff with the json I have.",
+ "noteable_type": "Issue",
+ "author_id": 2935579,
+ "created_at": "2020-03-19T18:14:14.751Z",
+ "updated_at": "2020-03-19T18:14:14.751Z",
+ "project_id": 2174499,
+ "attachment": {
+ "url": null
+ },
+ "line_code": null,
+ "commit_id": null,
+ "st_diff": null,
+ "system": false,
+ "updated_by_id": null,
+ "type": null,
+ "position": null,
+ "original_position": null,
+ "resolved_at": null,
+ "resolved_by_id": null,
+ "discussion_id": "1297268789557c210778f1bd20d71b9bd5ad2fbc",
+ "change_position": null,
+ "resolved_by_push": null,
+ "confidential": null,
+ "last_edited_at": "2020-03-19T18:14:14.751Z",
+ "author": {
+ "name": "Stuart Axon"
+ },
+ "award_emoji": [],
+ "events": [
+ {
+ "project_id": 2174499,
+ "author_id": 2935579,
+ "created_at": "2020-03-19T18:14:15.308Z",
+ "updated_at": "2020-03-19T18:14:15.308Z",
+ "action": "commented",
+ "target_type": "Note",
+ "fingerprint": null
+ }
+ ]
+ },
+ {
+ "note": "changed the description",
+ "noteable_type": "Issue",
+ "author_id": 519455,
+ "created_at": "2019-08-30T09:56:55.554Z",
+ "updated_at": "2019-08-30T09:56:55.557Z",
+ "project_id": 2174499,
+ "attachment": {
+ "url": null
+ },
+ "line_code": null,
+ "commit_id": null,
+ "st_diff": null,
+ "system": true,
+ "updated_by_id": null,
+ "type": null,
+ "position": null,
+ "original_position": null,
+ "resolved_at": null,
+ "resolved_by_id": null,
+ "discussion_id": "7c0f20deb0259bef91ee3794f5bb9b7e6055586b",
+ "change_position": null,
+ "resolved_by_push": null,
+ "confidential": null,
+ "last_edited_at": "2019-08-30T09:56:55.557Z",
+ "author": {
+ "name": "Elliott Sales de Andrade"
+ },
+ "award_emoji": [],
+ "system_note_metadata": {
+ "commit_count": null,
+ "action": "description",
+ "created_at": "2019-08-30T09:56:55.577Z",
+ "updated_at": "2019-08-30T09:56:55.577Z"
+ },
+ "events": []
+ }
+ ],
+ "label_links": [
+ {
+ "target_type": "Issue",
+ "created_at": "2019-08-25T20:14:53.391Z",
+ "updated_at": "2019-08-25T20:14:53.391Z",
+ "label": {
+ "title": "needinfo",
+ "color": "#5843AD",
+ "project_id": 2174499,
+ "created_at": "2019-08-25T20:14:47.284Z",
+ "updated_at": "2019-08-25T20:14:47.284Z",
+ "template": false,
+ "description": null,
+ "group_id": null,
+ "type": "ProjectLabel",
+ "priorities": []
+ }
+ }
+ ],
+ "resource_label_events": [
+ {
+ "action": "add",
+ "user_id": 53909,
+ "created_at": "2019-08-25T20:14:53.420Z",
+ "label": {
+ "title": "needinfo",
+ "color": "#5843AD",
+ "project_id": 2174499,
+ "created_at": "2019-08-25T20:14:47.284Z",
+ "updated_at": "2019-08-25T20:14:47.284Z",
+ "template": false,
+ "description": null,
+ "group_id": null,
+ "type": "ProjectLabel",
+ "priorities": []
+ }
+ }
+ ],
+ "resource_milestone_events": [],
+ "resource_state_events": [],
+ "designs": [],
+ "design_versions": [],
+ "issue_assignees": [],
+ "zoom_meetings": [],
+ "award_emoji": [
+ {
+ "name": "thumbsup",
+ "user_id": 2935579,
+ "awardable_type": "Issue",
+ "created_at": "2020-03-19T18:13:59.337Z",
+ "updated_at": "2020-03-19T18:13:59.337Z"
+ },
+ {
+ "name": "thumbsup",
+ "user_id": 1638171,
+ "awardable_type": "Issue",
+ "created_at": "2021-03-26T06:57:15.593Z",
+ "updated_at": "2021-03-26T06:57:15.593Z"
+ }
+ ],
+ "work_item_type": {
+ "base_type": "issue"
+ },
+ "resource_iteration_events": []
+},
+{
+ "title": "HTMLFormatter doesn’t keep order of elements",
+ "author_id": 53909,
+ "project_id": 2174499,
+ "created_at": "2019-08-25T20:20:40.910Z",
+ "updated_at": "2021-05-19T09:07:14.535Z",
+ "description": "Therefore ``test_json_diff.TestBasicJSON.test_simple_formatted`` and ``test.test_json_diff.TestHappyPath.test_nested_formatted`` fail.",
+ "iid": 10,
+ "updated_by_id": 53909,
+ "weight": null,
+ "confidential": false,
+ "due_date": null,
+ "lock_version": 2,
+ "time_estimate": 0,
+ "relative_position": 1073746823,
+ "last_edited_at": "2019-08-25T20:21:01.858Z",
+ "last_edited_by_id": 53909,
+ "discussion_locked": null,
+ "closed_at": null,
+ "closed_by_id": null,
+ "health_status": null,
+ "external_key": null,
+ "state": "opened",
+ "events": [
+ {
+ "project_id": 2174499,
+ "author_id": 53909,
+ "created_at": "2019-08-25T20:20:40.970Z",
+ "updated_at": "2019-08-25T20:20:40.970Z",
+ "action": "created",
+ "target_type": "Issue",
+ "fingerprint": null
+ }
+ ],
+ "timelogs": [],
+ "notes": [
+ {
+ "note": "Maybe need to use an OrderedDict somewhere ?",
+ "noteable_type": "Issue",
+ "author_id": 167040,
+ "created_at": "2021-05-19T09:07:14.499Z",
+ "updated_at": "2021-05-19T09:07:14.499Z",
+ "project_id": 2174499,
+ "attachment": {
+ "url": null
+ },
+ "line_code": null,
+ "commit_id": null,
+ "st_diff": null,
+ "system": false,
+ "updated_by_id": null,
+ "type": null,
+ "position": null,
+ "original_position": null,
+ "resolved_at": null,
+ "resolved_by_id": null,
+ "discussion_id": "6c4c9165a417cb80b17935b872c6463266f2f1d5",
+ "change_position": null,
+ "resolved_by_push": null,
+ "confidential": null,
+ "last_edited_at": "2021-05-19T09:07:14.499Z",
+ "author": {
+ "name": "Francois"
+ },
+ "award_emoji": [],
+ "events": [
+ {
+ "project_id": 2174499,
+ "author_id": 167040,
+ "created_at": "2021-05-19T09:07:14.759Z",
+ "updated_at": "2021-05-19T09:07:14.759Z",
+ "action": "commented",
+ "target_type": "Note",
+ "fingerprint": null
+ }
+ ]
+ },
+ {
+ "note": "changed the description",
+ "noteable_type": "Issue",
+ "author_id": 53909,
+ "created_at": "2019-08-25T20:21:01.954Z",
+ "updated_at": "2019-08-25T20:21:01.961Z",
+ "project_id": 2174499,
+ "attachment": {
+ "url": null
+ },
+ "line_code": null,
+ "commit_id": null,
+ "st_diff": null,
+ "system": true,
+ "updated_by_id": null,
+ "type": null,
+ "position": null,
+ "original_position": null,
+ "resolved_at": null,
+ "resolved_by_id": null,
+ "discussion_id": "736b1f106e9d07b6cfcf57bf3fea57efe7015493",
+ "change_position": null,
+ "resolved_by_push": null,
+ "confidential": null,
+ "last_edited_at": "2019-08-25T20:21:01.961Z",
+ "author": {
+ "name": "Matěj Cepl"
+ },
+ "award_emoji": [],
+ "system_note_metadata": {
+ "commit_count": null,
+ "action": "description",
+ "created_at": "2019-08-25T20:21:01.984Z",
+ "updated_at": "2019-08-25T20:21:01.984Z"
+ },
+ "events": []
+ }
+ ],
+ "label_links": [],
+ "resource_label_events": [],
+ "resource_milestone_events": [],
+ "resource_state_events": [],
+ "designs": [],
+ "design_versions": [],
+ "issue_assignees": [],
+ "zoom_meetings": [],
+ "award_emoji": [],
+ "work_item_type": {
+ "base_type": "issue"
+ },
+ "resource_iteration_events": []
+},
+{
+ "title": "Please describe output formats in readme",
+ "author_id": 43767,
+ "project_id": 2174499,
+ "created_at": "2019-10-06T15:08:59.291Z",
+ "updated_at": "2019-10-06T15:08:59.291Z",
+ "description": "I'm just looking for a simple json diff tool and found this one. Unfortunatly the Readme does not explain which format the output has. Please add a few lnes about this to the Readme. Thanks.",
+ "iid": 11,
+ "updated_by_id": null,
+ "weight": null,
+ "confidential": false,
+ "due_date": null,
+ "lock_version": 1,
+ "time_estimate": 0,
+ "relative_position": 1073747323,
+ "last_edited_at": null,
+ "last_edited_by_id": null,
+ "discussion_locked": null,
+ "closed_at": null,
+ "closed_by_id": null,
+ "health_status": null,
+ "external_key": null,
+ "state": "opened",
+ "events": [
+ {
+ "project_id": 2174499,
+ "author_id": 43767,
+ "created_at": "2019-10-06T15:08:59.336Z",
+ "updated_at": "2019-10-06T15:08:59.336Z",
+ "action": "created",
+ "target_type": "Issue",
+ "fingerprint": null
+ }
+ ],
+ "timelogs": [],
+ "notes": [],
+ "label_links": [],
+ "resource_label_events": [],
+ "resource_milestone_events": [],
+ "resource_state_events": [],
+ "designs": [],
+ "design_versions": [],
+ "issue_assignees": [],
+ "zoom_meetings": [],
+ "award_emoji": [
+ {
+ "name": "thumbsup",
+ "user_id": 2859531,
+ "awardable_type": "Issue",
+ "created_at": "2020-02-24T23:49:31.806Z",
+ "updated_at": "2020-02-24T23:49:31.806Z"
+ }
+ ],
+ "work_item_type": {
+ "base_type": "issue"
+ },
+ "resource_iteration_events": []
+},
+{
+ "title": "pip install errors on Linux container - the file open call in setup.py should explicitly specify encoding.",
+ "author_id": 5939071,
+ "project_id": 2174499,
+ "created_at": "2020-05-06T17:35:15.483Z",
+ "updated_at": "2020-05-06T17:39:57.316Z",
+ "description": "```root@d9de3cf71859:/usr/src/node-red# python3 -m pip install json-diff\nCollecting json-diff\n Using cached https://files.pythonhosted.org/packages/6a/48/f6106761581a54d370ac8342ab81a6414548ae72eb126c2a650b5a590252/json_diff-1.5.0.tar.gz\n Complete output from command python setup.py egg_info:\n Traceback (most recent call last):\n File \"<string>\", line 1, in <module>\n File \"/tmp/pip-build-8z02at46/json-diff/setup.py\", line 28, in <module>\n long_description=get_long_description(),\n File \"/tmp/pip-build-8z02at46/json-diff/setup.py\", line 17, in get_long_description\n + read(\"NEWS.txt\")\n File \"/tmp/pip-build-8z02at46/json-diff/setup.py\", line 9, in read\n out = \"\\n\" + f.read().replace(\"\\r\\n\", \"\\n\")\n File \"/usr/local/lib/python3.6/encodings/ascii.py\", line 26, in decode\n return codecs.ascii_decode(input, self.errors)[0]\n UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 199: ordinal not in range(128)\n \n ----------------------------------------\nCommand \"python setup.py egg_info\" failed with error code 1 in /tmp/pip-build-8z02at46/json-diff/\nYou are using pip version 9.0.3, however version 20.1 is available.\nYou should consider upgrading via the 'pip install --upgrade pip' command.\nroot@d9de3cf71859:/usr/src/node-red# pip\nbash: pip: command not found\nroot@d9de3cf71859:/usr/src/node-red# pip install --upgrade pip\nbash: pip: command not found\nroot@d9de3cf71859:/usr/src/node-red# uname -a\nLinux d9de3cf71859 4.9.125-linuxkit #1 SMP Fri Sep 7 08:20:28 UTC 2018 x86_64 GNU/Linux\nroot@d9de3cf71859:/usr/src/node-red# \n```",
+ "iid": 12,
+ "updated_by_id": 5939071,
+ "weight": null,
+ "confidential": true,
+ "due_date": null,
+ "lock_version": 2,
+ "time_estimate": 0,
+ "relative_position": 1073747823,
+ "last_edited_at": "2020-05-06T17:39:57.310Z",
+ "last_edited_by_id": 5939071,
+ "discussion_locked": null,
+ "closed_at": null,
+ "closed_by_id": null,
+ "health_status": null,
+ "external_key": null,
+ "state": "opened",
+ "events": [
+ {
+ "project_id": 2174499,
+ "author_id": 5939071,
+ "created_at": "2020-05-06T17:35:15.575Z",
+ "updated_at": "2020-05-06T17:35:15.575Z",
+ "action": "created",
+ "target_type": "Issue",
+ "fingerprint": null
+ }
+ ],
+ "timelogs": [],
+ "notes": [
+ {
+ "note": "changed title from **pip install errors on Linux container - {-something in one of the text files, a non-ascii character in setup.py?-}** to **pip install errors on Linux container - {+the file open call in setup.py should explicitly specify encoding.+}**",
+ "noteable_type": "Issue",
+ "author_id": 5939071,
+ "created_at": "2020-05-06T17:39:57.345Z",
+ "updated_at": "2020-05-06T17:39:57.346Z",
+ "project_id": 2174499,
+ "attachment": {
+ "url": null
+ },
+ "line_code": null,
+ "commit_id": null,
+ "st_diff": null,
+ "system": true,
+ "updated_by_id": null,
+ "type": null,
+ "position": null,
+ "original_position": null,
+ "resolved_at": null,
+ "resolved_by_id": null,
+ "discussion_id": "9c12f94af41e829033c62ce2dbfef9cc2e03b81b",
+ "change_position": null,
+ "resolved_by_push": null,
+ "confidential": null,
+ "last_edited_at": "2020-05-06T17:39:57.346Z",
+ "author": {
+ "name": "Vik Nag"
+ },
+ "award_emoji": [],
+ "system_note_metadata": {
+ "commit_count": null,
+ "action": "title",
+ "created_at": "2020-05-06T17:39:57.365Z",
+ "updated_at": "2020-05-06T17:39:57.365Z"
+ },
+ "events": []
+ }
+ ],
+ "label_links": [],
+ "resource_label_events": [],
+ "resource_milestone_events": [],
+ "resource_state_events": [],
+ "designs": [],
+ "design_versions": [],
+ "issue_assignees": [],
+ "zoom_meetings": [],
+ "award_emoji": [],
+ "work_item_type": {
+ "base_type": "issue"
+ },
+ "resource_iteration_events": []
+},
+{
+ "title": "Recursion depth error when processing null element with main",
+ "author_id": 167040,
+ "project_id": 2174499,
+ "created_at": "2021-05-19T09:17:24.400Z",
+ "updated_at": "2021-05-21T14:25:43.822Z",
+ "description": "Hello Matej, \n\nI've tried json_diff yesterday, and ran into a recursion depth error when processing some json files through the main. Nb: I was using an older version with python 2.7. \n\nI ran some more tests, and found out that: \njson_diff.Comparator().compare_dicts(json.load(open(f1)), json.load(open(f2))) => works correcly\njson_diff.Comparator(open(f1)), open(f2)).compare_dicts() => throws a recursion depth error\n\nI think this stems from the fact that my json contains some null values. When delving recursively into the structure, when compare_dicts encounters a null, it uses the obj1 or obj2 from the init, and starts over from the beginning. \n\nI haven't tried to fix it yet, but I think it's not useful to store the objects in the class, and the main could call Comparator(opts=options).compare_dicts(json.load(open(f1)), json.load(open(f2)).",
+ "iid": 13,
+ "updated_by_id": 167040,
+ "weight": null,
+ "confidential": false,
+ "due_date": null,
+ "lock_version": 2,
+ "time_estimate": 0,
+ "relative_position": 1073748336,
+ "last_edited_at": "2021-05-19T14:26:14.893Z",
+ "last_edited_by_id": 167040,
+ "discussion_locked": null,
+ "closed_at": null,
+ "closed_by_id": null,
+ "health_status": null,
+ "external_key": null,
+ "state": "opened",
+ "events": [
+ {
+ "project_id": 2174499,
+ "author_id": 167040,
+ "created_at": "2021-05-19T09:17:24.493Z",
+ "updated_at": "2021-05-19T09:17:24.493Z",
+ "action": "created",
+ "target_type": "Issue",
+ "fingerprint": null
+ }
+ ],
+ "timelogs": [],
+ "notes": [
+ {
+ "note": "Do you want to take over this project? It was seven years or so when I lost interest in this script, if you want to take it over, it is free for adoption both here and on PyPI.",
+ "noteable_type": "Issue",
+ "author_id": 53909,
+ "created_at": "2021-05-21T14:25:43.757Z",
+ "updated_at": "2021-05-21T14:25:43.757Z",
+ "project_id": 2174499,
+ "attachment": {
+ "url": null
+ },
+ "line_code": null,
+ "commit_id": null,
+ "st_diff": null,
+ "system": false,
+ "updated_by_id": null,
+ "type": null,
+ "position": null,
+ "original_position": null,
+ "resolved_at": null,
+ "resolved_by_id": null,
+ "discussion_id": "bafe6a7b2a98cd990e9d652f5d2d2efbc9b38a18",
+ "change_position": null,
+ "resolved_by_push": null,
+ "confidential": false,
+ "last_edited_at": "2021-05-21T14:25:43.757Z",
+ "author": {
+ "name": "Matěj Cepl"
+ },
+ "award_emoji": [],
+ "events": [
+ {
+ "project_id": 2174499,
+ "author_id": 53909,
+ "created_at": "2021-05-21T14:25:44.054Z",
+ "updated_at": "2021-05-21T14:25:44.054Z",
+ "action": "commented",
+ "target_type": "Note",
+ "fingerprint": null
+ }
+ ]
+ },
+ {
+ "note": "changed the description",
+ "noteable_type": "Issue",
+ "author_id": 167040,
+ "created_at": "2021-05-19T14:26:15.215Z",
+ "updated_at": "2021-05-19T14:26:15.217Z",
+ "project_id": 2174499,
+ "attachment": {
+ "url": null
+ },
+ "line_code": null,
+ "commit_id": null,
+ "st_diff": null,
+ "system": true,
+ "updated_by_id": null,
+ "type": null,
+ "position": null,
+ "original_position": null,
+ "resolved_at": null,
+ "resolved_by_id": null,
+ "discussion_id": "7c845dedb5a854bdc8f262047bf72ee21c3b4a7e",
+ "change_position": null,
+ "resolved_by_push": null,
+ "confidential": null,
+ "last_edited_at": "2021-05-19T14:26:15.217Z",
+ "author": {
+ "name": "Francois"
+ },
+ "award_emoji": [],
+ "system_note_metadata": {
+ "commit_count": null,
+ "action": "description",
+ "created_at": "2021-05-19T14:26:15.237Z",
+ "updated_at": "2021-05-19T14:26:15.237Z"
+ },
+ "events": []
+ }
+ ],
+ "label_links": [],
+ "resource_label_events": [],
+ "resource_milestone_events": [],
+ "resource_state_events": [],
+ "designs": [],
+ "design_versions": [],
+ "issue_assignees": [],
+ "zoom_meetings": [],
+ "award_emoji": [],
+ "work_item_type": {
+ "base_type": "issue"
+ },
+ "resource_iteration_events": []
+},
+{
+ "title": "cannot process UTF-8 files ('charmap' codec can't decode byte 0x81 in position 2071: character maps to <undefined>)",
+ "author_id": 741962,
+ "project_id": 2174499,
+ "created_at": "2022-11-11T15:32:34.425Z",
+ "updated_at": "2022-11-11T16:02:31.206Z",
+ "description": "This is probably problem with UTF-8 encoding according to [some similar issue](https://github.com/mwouts/jupytext/issues/770). I ran the script (installed with pip) on Windows 10 with \"Python 3.11.0 (main, Oct 24 2022, 18:26:48) [MSC v.1933 64 bit (AMD64)] on win32\" on 2 UTF-8 files with czech characters. One file had CRLF line endings, the second one LF.\n\nFull traceback:\n```\nTraceback (most recent call last):\n File \"C:\\Users\\$me\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\json_diff.py\", line 153, in __init__\n self.obj1 = json.load(fn1)\n ^^^^^^^^^^^^^^\n File \"C:\\Users\\$me\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\json\\__init__.py\", line 293, in load\n return loads(fp.read(),\n ^^^^^^^^^\n File \"C:\\Users\\$me\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\encodings\\cp1250.py\", line 23, in decode\n return codecs.charmap_decode(input,self.errors,decoding_table)[0]\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nUnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 1255: character maps to <undefined>\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"C:\\Users\\$me\\AppData\\Local\\Programs\\Python\\Python311\\Scripts\\json_diff-script.py\", line 33, in <module>\n sys.exit(load_entry_point('json-diff==1.5.0', 'console_scripts', 'json_diff')())\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"C:\\Users\\$me\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\json_diff.py\", line 369, in main\n diff = Comparator(old_file, new_file, options)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"C:\\Users\\$me\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\json_diff.py\", line 155, in __init__\n raise BadJSONError(\"Cannot decode object from JSON.\\n%s\" %\njson_diff.BadJSONError: Cannot decode object from JSON.\n'charmap' codec can't decode byte 0x81 in position 1255: character maps to <undefined>\n```",
+ "iid": 14,
+ "updated_by_id": 741962,
+ "weight": null,
+ "confidential": false,
+ "due_date": null,
+ "lock_version": 1,
+ "time_estimate": 0,
+ "relative_position": 1073748849,
+ "last_edited_at": "2022-11-11T15:59:57.340Z",
+ "last_edited_by_id": 741962,
+ "discussion_locked": null,
+ "closed_at": null,
+ "closed_by_id": null,
+ "health_status": null,
+ "external_key": null,
+ "state": "opened",
+ "events": [
+ {
+ "project_id": 2174499,
+ "author_id": 741962,
+ "created_at": "2022-11-11T15:32:34.586Z",
+ "updated_at": "2022-11-11T15:32:34.586Z",
+ "action": "created",
+ "target_type": "Issue",
+ "fingerprint": null
+ }
+ ],
+ "timelogs": [],
+ "notes": [
+ {
+ "note": "The fix should be adding explicit `encoding=\"utf-8\"` parameters to function `open`, like stated in [mentioned issue](https://github.com/mwouts/jupytext/issues/770).",
+ "noteable_type": "Issue",
+ "author_id": 741962,
+ "created_at": "2022-11-11T15:38:58.594Z",
+ "updated_at": "2022-11-11T16:02:31.280Z",
+ "project_id": 2174499,
+ "attachment": {
+ "url": null
+ },
+ "line_code": null,
+ "commit_id": null,
+ "st_diff": null,
+ "system": false,
+ "updated_by_id": null,
+ "type": "DiscussionNote",
+ "position": null,
+ "original_position": null,
+ "resolved_at": null,
+ "resolved_by_id": null,
+ "discussion_id": "31951a990cd59207a7df80f10a795b5db4e66b86",
+ "change_position": null,
+ "resolved_by_push": null,
+ "confidential": null,
+ "last_edited_at": "2022-11-11T16:02:31.280Z",
+ "author": {
+ "name": "Tomáš Hudziec"
+ },
+ "award_emoji": [],
+ "events": [
+ {
+ "project_id": 2174499,
+ "author_id": 741962,
+ "created_at": "2022-11-11T15:38:58.868Z",
+ "updated_at": "2022-11-11T15:38:58.868Z",
+ "action": "commented",
+ "target_type": "Note",
+ "fingerprint": null
+ }
+ ]
+ },
+ {
+ "note": "Hmm, after fixing the encoding in this way another error comes:\n```\nTraceback (most recent call last):\n File \"C:\\Users\\$me\\AppData\\Local\\Programs\\Python\\Python311\\Scripts\\json_diff-script.py\", line 33, in <module>\n sys.exit(load_entry_point('json-diff==1.5.0', 'console_scripts', 'json_diff')())\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"C:\\Users\\$me\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\json_diff.py\", line 370, in main\n diff_res = diff.compare_dicts()\n ^^^^^^^^^^^^^^^^^^^^\n File \"C:\\Users\\$me\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\json_diff.py\", line 305, in compare_dicts\n old_keys = set(old_obj.keys())\n ^^^^^^^^^^^^\nAttributeError: 'list' object has no attribute 'keys'\n```\nBut this I am leaving for someone else :)",
+ "noteable_type": "Issue",
+ "author_id": 741962,
+ "created_at": "2022-11-11T16:02:31.146Z",
+ "updated_at": "2022-11-11T16:02:31.146Z",
+ "project_id": 2174499,
+ "attachment": {
+ "url": null
+ },
+ "line_code": null,
+ "commit_id": null,
+ "st_diff": null,
+ "system": false,
+ "updated_by_id": null,
+ "type": "DiscussionNote",
+ "position": null,
+ "original_position": null,
+ "resolved_at": null,
+ "resolved_by_id": null,
+ "discussion_id": "31951a990cd59207a7df80f10a795b5db4e66b86",
+ "change_position": null,
+ "resolved_by_push": null,
+ "confidential": false,
+ "last_edited_at": "2022-11-11T16:02:31.146Z",
+ "author": {
+ "name": "Tomáš Hudziec"
+ },
+ "award_emoji": [],
+ "events": []
+ },
+ {
+ "note": "changed the description",
+ "noteable_type": "Issue",
+ "author_id": 741962,
+ "created_at": "2022-11-11T15:59:57.691Z",
+ "updated_at": "2022-11-11T15:59:57.692Z",
+ "project_id": 2174499,
+ "attachment": {
+ "url": null
+ },
+ "line_code": null,
+ "commit_id": null,
+ "st_diff": null,
+ "system": true,
+ "updated_by_id": null,
+ "type": null,
+ "position": null,
+ "original_position": null,
+ "resolved_at": null,
+ "resolved_by_id": null,
+ "discussion_id": "74dbac57b47f4a759c16b59588f22c7db96fe9d1",
+ "change_position": null,
+ "resolved_by_push": null,
+ "confidential": null,
+ "last_edited_at": "2022-11-11T15:59:57.692Z",
+ "author": {
+ "name": "Tomáš Hudziec"
+ },
+ "award_emoji": [],
+ "system_note_metadata": {
+ "commit_count": null,
+ "action": "description",
+ "created_at": "2022-11-11T15:59:57.711Z",
+ "updated_at": "2022-11-11T15:59:57.711Z"
+ },
+ "events": []
+ }
+ ],
+ "label_links": [],
+ "resource_label_events": [],
+ "resource_milestone_events": [],
+ "resource_state_events": [],
+ "designs": [],
+ "design_versions": [],
+ "issue_assignees": [],
+ "zoom_meetings": [],
+ "award_emoji": [],
+ "work_item_type": {
+ "base_type": "issue"
+ },
+ "resource_iteration_events": []
+}
+]
diff --git a/post-commit b/post-commit
index b0587ba..c84075e 100644..100755
--- a/post-commit
+++ b/post-commit
@@ -1,5 +1,5 @@
#!/bin/sh
-set -eux
+set -eu
BUG_ID=$(git format-patch --stdout HEAD~|git interpret-trailers --parse|awk -F '#' '/^Fixes: gb#/ { print $2}')
if [ -n "$BUG_ID" ] ; then