{"id":42299409,"url":"https://github.com/mosteo/defol","last_synced_at":"2026-01-27T10:19:48.587Z","repository":{"id":297305842,"uuid":"970755532","full_name":"mosteo/defol","owner":"mosteo","description":"A tool to find directories with identical or highly overlapping contents","archived":false,"fork":false,"pushed_at":"2025-06-30T17:04:20.000Z","size":117,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-25T13:02:02.746Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ada","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/mosteo.png","metadata":{"files":{"readme":"README.md","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-04-22T13:42:40.000Z","updated_at":"2025-06-30T17:04:25.000Z","dependencies_parsed_at":"2025-06-05T02:13:18.339Z","dependency_job_id":"b78e8ed9-4d63-40b8-bb94-5f96aa20bcc9","html_url":"https://github.com/mosteo/defol","commit_stats":null,"previous_names":["mosteo/defol"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mosteo/defol","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mosteo%2Fdefol","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mosteo%2Fdefol/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mosteo%2Fdefol/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mosteo%2Fdefol/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mosteo","download_url":"https://codeload.github.com/mosteo/defol/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mosteo%2Fdefol/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28811636,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-27T07:41:26.337Z","status":"ssl_error","status_checked_at":"2026-01-27T07:41:08.776Z","response_time":168,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":"2026-01-27T10:19:48.020Z","updated_at":"2026-01-27T10:19:48.576Z","avatar_url":"https://github.com/mosteo.png","language":"Ada","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![CI](https://img.shields.io/github/actions/workflow/status/mosteo/defol/selftest.yml?label=CI)](https://github.com/mosteo/defol/actions/workflows/selftest.yml)\n\n## Defol\n\nDefol (deduplicate folders) is a command-line tool that helps you find\nduplicate files and (hopefully soon) folders.\n\nCurrently it only detects duplicate files. The next big feature on the works is\nfinding folders with high similarity (not necessarily identical content).\n\nIt is heavily inspired by [rdfind](https://github.com/pauldreik/rdfind),\nproducing similar output, and treating the first folder given in the path as\nthe reference folder. This simplifies locating duplicates outside that tree.\n\nMain characteristics:\n\n- Fully parallelized: it uses all available CPU cores for file comparison.\n  - Informal tests show speed-ups of up to 3x compared to `rdfind` and `rmlint`\n    (with I/O caching), similar speeds for a \"cold\" filesystem.\n- Lazy loading: it only reads the files to be compared when necessary.\n- Smart comparison of files: it uses a combination of file size, content, and\n  hash to determine which files are duplicates.\n\nDuplicates are reported in a single match set, with one of the following\noutcomes for each identical file in the set:\n\n- **Starter_In_Primary_Tree**: A file in the primary tree (first path given)\n- **Sibling_In_Primary_Tree**: Duplicate in same folder as starter in primary tree\n- **Matched_In_Primary_Tree**: Duplicate elsewhere in the primary tree\n- **Starter_In_Another_Tree**: A file with duplicates when no copy exists in primary tree\n- **Sibling_In_Another_Tree**: Duplicate in same folder as starter outside primary tree\n- **Matched_In_Another_Tree**: Duplicate elsewhere outside the primary tree\n\nThe primary tree is the first folder given in the command line, which\ndetermines the classification of matches. A starter is the first file in the\nmatch set, but it is not a special file, just the first one found in a set of\nduplicates. However, it is guaranteed that if a duplicate exists in the primary\ntree, the starter will be in the primary tree. As a consequence, in a match set\nthere cannot exist a starter in the primary tree and another starter in another tree.\n\nMatch sets are deterministic, with files sorted by their match kind and path.\n\nResults are saved to a `defol_report.txt` file in the current working\ndirectory.\n\nAt the time, there are no options to change the behavior of the tool. Debug\noutput can be enabled by defining the `DEFOL_DEBUG` environment variable, e.g.:\n`DEFOL_DEBUG= ../bin/defol`\n\nIf no paths are given, the current working directory is used as the primary\n(and only) tree.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmosteo%2Fdefol","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmosteo%2Fdefol","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmosteo%2Fdefol/lists"}