{"id":13506737,"url":"https://github.com/mmicu/merge-cppcheck-reports","last_synced_at":"2026-05-19T16:35:18.405Z","repository":{"id":177073788,"uuid":"124106629","full_name":"mmicu/merge-cppcheck-reports","owner":"mmicu","description":"Merge XML files that use the cppcheck xml format.","archived":false,"fork":false,"pushed_at":"2018-03-13T09:33:31.000Z","size":5,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-01T05:32:48.617Z","etag":null,"topics":["cppcheck"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mmicu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-03-06T16:31:50.000Z","updated_at":"2024-06-08T23:21:55.000Z","dependencies_parsed_at":"2023-07-10T06:15:11.895Z","dependency_job_id":null,"html_url":"https://github.com/mmicu/merge-cppcheck-reports","commit_stats":null,"previous_names":["mmicu/merge-cppcheck-reports"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmicu%2Fmerge-cppcheck-reports","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmicu%2Fmerge-cppcheck-reports/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmicu%2Fmerge-cppcheck-reports/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmicu%2Fmerge-cppcheck-reports/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mmicu","download_url":"https://codeload.github.com/mmicu/merge-cppcheck-reports/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246281099,"owners_count":20752203,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cppcheck"],"created_at":"2024-08-01T01:00:56.490Z","updated_at":"2025-12-24T05:54:12.961Z","avatar_url":"https://github.com/mmicu.png","language":"Python","funding_links":[],"categories":["Uncategorized"],"sub_categories":["Uncategorized"],"readme":"# merge-cppcheck-reports\nThis simple script merges XML files generated by [cppcheck](https://github.com/danmar/cppcheck).\n\n## Usage\n```\n$ python merge_cppcheck_reports.py -h\nusage: merge_cppcheck_reports.py [-h] [-r] file [file ...]\n\nMerge cppcheck XML reports.\n\npositional arguments:\n  file        list of XML files\n\noptional arguments:\n  -h, --help  show this help message and exit\n  -r          remove duplicates\n```\n\n## Example\nConsidering the following two examples (`examples/report_1.xml` and `examples/report_2.xml`, respectively):\n```xml\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n\u003cresults version=\"2\"\u003e\n  \u003ccppcheck version=\"1.82\"/\u003e\n    \u003cerrors\u003e\n      Checking main.c ...\n      \u003cerror id=\"uninitvar\" severity=\"error\" msg=\"Uninitialized variable: p\" verbose=\"Uninitialized variable: p\" cwe=\"908\"\u003e\n        \u003clocation file=\"main.c\" line=\"4\"/\u003e\n      \u003c/error\u003e\n    \u003c/errors\u003e\n\u003c/results\u003e\n```\n```xml\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n\u003cresults version=\"2\"\u003e\n  \u003ccppcheck version=\"1.82\"/\u003e\n    \u003cerrors\u003e\n      Checking main.c ...\n      \u003cerror id=\"uninitvar\" severity=\"error\" msg=\"Uninitialized variable: p\" verbose=\"Uninitialized variable: p\" cwe=\"908\"\u003e\n        \u003clocation file=\"main.c\" line=\"4\"/\u003e\n      \u003c/error\u003e\n      \u003cerror id=\"uninitvar\" severity=\"error\" msg=\"Uninitialized variable: p\" verbose=\"Uninitialized variable: p2\" cwe=\"908\"\u003e\n        \u003clocation file=\"main.c\" line=\"5\"/\u003e\n      \u003c/error\u003e\n    \u003c/errors\u003e\n\u003c/results\u003e\n```\nThe script produces the following two outputs (without options and using option `-r`, respectively):\n```xml\n$ python merge_cppcheck_reports.py examples/report_1.xml examples/report_2.xml\n\u003cresults version=\"2\"\u003e\n  \u003ccppcheck version=\"1.82\" /\u003e\n    \u003cerrors\u003e\n      Checking main.c ...\n      \u003cerror cwe=\"908\" id=\"uninitvar\" msg=\"Uninitialized variable: p\" severity=\"error\" verbose=\"Uninitialized variable: p\"\u003e\n        \u003clocation file=\"main.c\" line=\"4\" /\u003e\n      \u003c/error\u003e\n      \u003cerror cwe=\"908\" id=\"uninitvar\" msg=\"Uninitialized variable: p\" severity=\"error\" verbose=\"Uninitialized variable: p\"\u003e\n        \u003clocation file=\"main.c\" line=\"4\" /\u003e\n      \u003c/error\u003e\n      \u003cerror cwe=\"908\" id=\"uninitvar\" msg=\"Uninitialized variable: p\" severity=\"error\" verbose=\"Uninitialized variable: p2\"\u003e\n        \u003clocation file=\"main.c\" line=\"5\" /\u003e\n      \u003c/error\u003e\n    \u003c/errors\u003e\n\u003c/results\u003e\n```\n```xml\n$ python merge_cppcheck_reports.py examples/report_1.xml examples/report_2.xml -r\n\u003cresults version=\"2\"\u003e\n  \u003ccppcheck version=\"1.82\" /\u003e\n    \u003cerrors\u003e\n      Checking main.c ...\n      \u003cerror cwe=\"908\" id=\"uninitvar\" msg=\"Uninitialized variable: p\" severity=\"error\" verbose=\"Uninitialized variable: p\"\u003e\n        \u003clocation file=\"main.c\" line=\"4\" /\u003e\n      \u003c/error\u003e\n      \u003cerror cwe=\"908\" id=\"uninitvar\" msg=\"Uninitialized variable: p\" severity=\"error\" verbose=\"Uninitialized variable: p2\"\u003e\n        \u003clocation file=\"main.c\" line=\"5\" /\u003e\n      \u003c/error\u003e\n    \u003c/errors\u003e\n\u003c/results\u003e\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmmicu%2Fmerge-cppcheck-reports","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmmicu%2Fmerge-cppcheck-reports","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmmicu%2Fmerge-cppcheck-reports/lists"}