{"id":29820974,"url":"https://github.com/eswar2001/cada-rs","last_synced_at":"2025-07-28T23:38:32.351Z","repository":{"id":292169984,"uuid":"980030218","full_name":"eswar2001/cada-rs","owner":"eswar2001","description":null,"archived":false,"fork":false,"pushed_at":"2025-05-08T13:58:32.000Z","size":194,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-08T14:26:46.091Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eswar2001.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2025-05-08T13:00:58.000Z","updated_at":"2025-05-08T13:58:35.000Z","dependencies_parsed_at":"2025-05-08T14:37:12.678Z","dependency_job_id":null,"html_url":"https://github.com/eswar2001/cada-rs","commit_stats":null,"previous_names":["eswar2001/cada-rs"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/eswar2001/cada-rs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eswar2001%2Fcada-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eswar2001%2Fcada-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eswar2001%2Fcada-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eswar2001%2Fcada-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eswar2001","download_url":"https://codeload.github.com/eswar2001/cada-rs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eswar2001%2Fcada-rs/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267604733,"owners_count":24114548,"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","status":"online","status_checked_at":"2025-07-28T02:00:09.689Z","response_time":68,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2025-07-28T23:38:31.115Z","updated_at":"2025-07-28T23:38:32.339Z","avatar_url":"https://github.com/eswar2001.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rust AST Differ\n\nA tool for analyzing differences between Git commits at the abstract syntax tree (AST) level for Rust code. This tool is especially useful for understanding code changes in large Rust projects.\n\n## Features\n\n- Detects changes in functions, types, traits, and methods\n- Produces detailed JSON reports of all code changes\n- Provides granular analysis of function call changes\n- Handles new, modified, and deleted files\n- Tracks literals and function calls within changed functions\n\n## Installation\n\n### Prerequisites\n\n- Rust and Cargo (install via [rustup](https://rustup.rs/))\n- Git\n\n### Building from source\n\n```bash\n# Clone the repository\ngit clone https://github.com/yourusername/rust-ast-differ.git\ncd rust-ast-differ\n\n# Build the tool\ncargo build --release\n\n# The binary will be in target/release/rust-ast-differ\n```\n\n## Usage\n\n```bash\nrust-ast-differ \u003crepoUrl\u003e \u003clocalRepoPath\u003e \u003cbranchName\u003e \u003ccurrentCommit\u003e [outputPath]\n```\n\n### Parameters\n\n- `repoUrl`: URL of the Git repository\n- `localRepoPath`: Path where to clone/use the repository\n- `branchName`: Base branch to compare against\n- `currentCommit`: Target commit to analyze\n- `outputPath` (optional): Directory to store output files (defaults to \"./\")\n\n\n## Output Files\n\nThe tool generates several JSON files in the output directory:\n\n- `all_code_changes.json`: All changes detected in the AST\n- `function_changes.json`: Changes specific to functions\n- `type_changes.json`: Changes specific to types (structs, enums, type aliases)\n- `interface_changes.json`: Changes specific to traits (interfaces)\n- `method_changes.json`: Changes specific to methods\n- `function_changes_granular.json`: Detailed changes within functions (added/removed function calls and literals)\n\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feswar2001%2Fcada-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feswar2001%2Fcada-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feswar2001%2Fcada-rs/lists"}