{"id":13451778,"url":"https://github.com/GumTreeDiff/gumtree","last_synced_at":"2025-03-23T19:32:42.640Z","repository":{"id":20895314,"uuid":"24182799","full_name":"GumTreeDiff/gumtree","owner":"GumTreeDiff","description":"An awesome code differencing tool","archived":false,"fork":false,"pushed_at":"2024-05-23T09:32:40.000Z","size":19670,"stargazers_count":874,"open_issues_count":23,"forks_count":169,"subscribers_count":24,"default_branch":"main","last_synced_at":"2024-05-23T09:45:05.504Z","etag":null,"topics":["abstract-syntax-tree","diff","gumtree"],"latest_commit_sha":null,"homepage":"https://github.com/GumTreeDiff/gumtree/wiki","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GumTreeDiff.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"code-of-conduct.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-09-18T09:48:24.000Z","updated_at":"2024-06-05T17:19:16.844Z","dependencies_parsed_at":"2023-02-14T07:45:42.418Z","dependency_job_id":"d0595b39-0cb9-4280-8dbf-d65674819760","html_url":"https://github.com/GumTreeDiff/gumtree","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GumTreeDiff%2Fgumtree","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GumTreeDiff%2Fgumtree/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GumTreeDiff%2Fgumtree/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GumTreeDiff%2Fgumtree/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GumTreeDiff","download_url":"https://codeload.github.com/GumTreeDiff/gumtree/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":213325085,"owners_count":15570232,"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":["abstract-syntax-tree","diff","gumtree"],"created_at":"2024-07-31T07:01:02.200Z","updated_at":"2024-10-28T17:33:53.181Z","avatar_url":"https://github.com/GumTreeDiff.png","language":"Java","readme":"# GumTree\n\nAn awesome code differencing tool that you can [integrate with Git](https://github.com/GumTreeDiff/gumtree/wiki/VCS-Integration)!\n\n## Status\n\n![Build and Test GumTree](https://github.com/GumTreeDiff/gumtree/workflows/Build,%20Test%20and%20Deploy%20GumTree/badge.svg?branch=main)\n\n## Description\n\nGumTree is a syntax-aware diff tool. It improves text-based diff tools in two important ways:\n* the edit actions are always aligned with the syntax,\n* it can detect moved or renamed elements in addition of deleted and inserted code.\n\n## Documentation\n\nTo use GumTree, you can start by consulting the [Getting Started](https://github.com/GumTreeDiff/gumtree/wiki/Getting-Started) page from our [wiki](https://github.com/GumTreeDiff/gumtree/wiki). If you have a question to ask, please use GitHub's [discussions](https://github.com/GumTreeDiff/gumtree/discussions) instead of opening an issue.\n\n## Screenshots\n\n### The directory diff viewer\n\n![Directory comparator view](https://github.com/GumTreeDiff/gumtree/raw/main/doc/screenshots/screenshot-0.png)\n\n### The file diff viewer\n\n![Diff view on a CSS file](https://github.com/GumTreeDiff/gumtree/raw/main/doc/screenshots/screenshot-1.png)\n\n![Diff view on a Java file](https://github.com/GumTreeDiff/gumtree/raw/main/doc/screenshots/screenshot-2.png)\n\n## Supported languages\n\nWe already deal with a wide range of languages: C, Java, JavaScript, Python, R, Ruby. Click [here](https://github.com/GumTreeDiff/gumtree/wiki/Languages) for more details about the language we support.\n\nMore languages are coming soon, if you want to help contact [me](http://www.labri.fr/perso/falleri).\n\n## Citing GumTree\n\nWe are researchers, therefore if you use GumTree in an academic work we would be really glad if you cite the relevant articles among the ones in the following bibtex:\n\n```bibtex\n@inproceedings{DBLP:conf/kbse/FalleriMBMM14,\n  author    = {Jean{-}R{\\'{e}}my Falleri and\n               Flor{\\'{e}}al Morandat and\n               Xavier Blanc and\n               Matias Martinez and\n               Martin Monperrus},\n  title     = {Fine-grained and accurate source code differencing},\n  booktitle = {{ACM/IEEE} International Conference on Automated Software Engineering,\n               {ASE} '14, Vasteras, Sweden - September 15 - 19, 2014},\n  pages     = {313--324},\n  year      = {2014},\n  url       = {http://doi.acm.org/10.1145/2642937.2642982},\n  doi       = {10.1145/2642937.2642982}\n}\n\n@article{DBLP:journals/tse/MartinezFM23,\n  author       = {Matias Martinez and\n                  Jean{-}R{\\'{e}}my Falleri and\n                  Martin Monperrus},\n  title        = {Hyperparameter Optimization for {AST} Differencing},\n  journal      = {{IEEE} Trans. Software Eng.},\n  volume       = {49},\n  number       = {10},\n  pages        = {4814--4828},\n  year         = {2023},\n  url          = {https://doi.org/10.1109/TSE.2023.3315935},\n  doi          = {10.1109/TSE.2023.3315935},\n  timestamp    = {Thu, 09 Nov 2023 21:13:48 +0100},\n  biburl       = {https://dblp.org/rec/journals/tse/MartinezFM23.bib},\n  bibsource    = {dblp computer science bibliography, https://dblp.org}\n}\n\n@inproceedings{DBLP:conf/icse/FalleriM24,\n  author       = {Jean{-}R{\\'{e}}my Falleri and\n                  Matias Martinez},\n  title        = {Fine-grained, accurate and scalable source differencing},\n  booktitle    = {Proceedings of the 46th {IEEE/ACM} International Conference on Software\n                  Engineering, {ICSE} 2024, Lisbon, Portugal, April 14-20, 2024},\n  pages        = {231:1--231:12},\n  publisher    = {{ACM}},\n  year         = {2024},\n  url          = {https://doi.org/10.1145/3597503.3639148},\n  doi          = {10.1145/3597503.3639148},\n  timestamp    = {Mon, 24 Jun 2024 15:20:25 +0200},\n  biburl       = {https://dblp.org/rec/conf/icse/FalleriM24.bib},\n  bibsource    = {dblp computer science bibliography, https://dblp.org}\n}\n```\n","funding_links":[],"categories":["Java","Source Code"],"sub_categories":["Semantic Diffs"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGumTreeDiff%2Fgumtree","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FGumTreeDiff%2Fgumtree","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGumTreeDiff%2Fgumtree/lists"}