{"id":29774646,"url":"https://github.com/senselogic/resync","last_synced_at":"2026-02-08T04:33:45.506Z","repository":{"id":114210275,"uuid":"91315550","full_name":"SenseLogic/RESYNC","owner":"SenseLogic","description":"Non-destructive local folder synchronizer.","archived":false,"fork":false,"pushed_at":"2022-02-16T23:01:09.000Z","size":222,"stargazers_count":9,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-07-27T08:18:35.700Z","etag":null,"topics":["alternative","backup","compare","folder","local","rsync","synchronize"],"latest_commit_sha":null,"homepage":"","language":"D","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SenseLogic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-05-15T08:49:07.000Z","updated_at":"2022-05-09T09:56:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"f7ca3b92-c1c1-4535-9be5-4f8d5a930bad","html_url":"https://github.com/SenseLogic/RESYNC","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SenseLogic/RESYNC","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SenseLogic%2FRESYNC","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SenseLogic%2FRESYNC/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SenseLogic%2FRESYNC/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SenseLogic%2FRESYNC/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SenseLogic","download_url":"https://codeload.github.com/SenseLogic/RESYNC/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SenseLogic%2FRESYNC/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29220513,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-08T03:18:47.732Z","status":"ssl_error","status_checked_at":"2026-02-08T03:15:31.985Z","response_time":57,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["alternative","backup","compare","folder","local","rsync","synchronize"],"created_at":"2025-07-27T08:08:55.041Z","updated_at":"2026-02-08T04:33:45.474Z","avatar_url":"https://github.com/SenseLogic.png","language":"D","readme":"![](https://github.com/senselogic/RESYNC/blob/master/LOGO/resync.png)\n\n# Resync\n\nNon-destructive local folder synchronizer.\n\n## Features\n\n* Efficiently synchronizes big file trees between local disks without computing checksums.\n* Processes the updated, changed, moved, removed and added files independently.\n* Allows to include/exclude files by folder, name or path using wildcards.\n* Stores replaced and removed files.\n\n## Limitations\n\n* Symbolic links are not processed.\n\n## Installation\n\nInstall the [DMD 2 compiler](https://dlang.org/download.html) (using the MinGW setup option on Windows).\n\nBuild the executable with the following command line :\n\n```bash\ndmd -O -inline -m64 resync.d\n```\n\n## Command line\n\n```bash\nresync [options] SOURCE_FOLDER/ TARGET_FOLDER/\n```\n\n### Options\n\n```\n--create : create the target folder if it doesn't exist\n--adjusted 0 : minimum adjusted modification time offset in milliseconds\n--updated : find the updated files\n--changed : find the changed files\n--moved : find the moved files\n--removed : find the removed files\n--added : find the added files\n--emptied : find the emptied folders\n--different : find the updated, changed, removed and added files, and the emptied folders\n--store STORE_FOLDER/ : store replaced and removed files\n--exclude FOLDER_FILTER/ : exclude matching folders\n--include FOLDER/ : include this folder\n--ignore file_filter : ignore matching files\n--keep file_filter : keep matching files\n--select file_filter : select only matching files\n--sample 0 1m all : minimum, medium and maximum sample size (`b` for bytes, `k` for kilobytes, `m` for megabytes, `g` for gigabytes)\n--allowed 2 : maximum allowed modification time offset in milliseconds\n--abort : abort on errors\n--verbose : show the processing messages\n--confirm : print the changes and ask confirmation before applying them\n--preview : preview the changes without applying them\n```\n\n### Examples\n\n```bash\nresync --create --different --store STORE_FOLDER/ SOURCE_FOLDER/ TARGET_FOLDER/\n```\n\nCreates the target folder if it doesn't exist, finds the updated/changed/removed/added files and the emptied folders, and applies those changes to the target folder, storeing replaced and removed files in the change folder.\n\n```bash\nresync --create --updated --changed --removed --added --emptied --confirm SOURCE_FOLDER/ TARGET_FOLDER/\n```\n\nCreates the target folder if it doesn't exist, finds the updated/changed/removed/added files and the emptied folders, prints these changes and asks confirmation before applying them to the target folder.\n\n```bash\nresync --create --updated --changed --removed --added --emptied --confirm SOURCE_FOLDER/ TARGET_FOLDER/\n```\n\nCreates the target folder if it doesn't exist, finds the updated/changed/removed/added files and the emptied folders, prints these changes and asks confirmation before applying them to the target folder.\n\n```bash\nresync --updated --changed --removed --added --moved --emptied --verbose --confirm SOURCE_FOLDER/ TARGET_FOLDER/\n```\n\nFinds the updated/changed/removed/added/moved files and the emptied folders, then prints these changes and asks confirmation before applying them to the target folder.\n\n```bash\nresync --updated --changed --removed --added --moved --emptied --sample 128k 1m 1m --verbose --confirm SOURCE_FOLDER/ TARGET_FOLDER/\n```\n\nFinds the updated/changed/removed/added/moved files and the emptied folders, sampling at least 128 kilobytes and up to 1 megabyte, then prints these changes and asks confirmation before applying them to the target folder.\n\n```bash\nresync --updated --changed --removed --added --emptied --exclude \".git/\" --ignore \"*.tmp\" --confirm SOURCE_FOLDER/ TARGET_FOLDER/\n```\n\nFinds the updated/changed/removed/added files and the emptied folders, excluding \".git/\" subfolders and ignoring \"\\*.tmp\" files, prints these changes and asks confirmation before applying them to the target folder.\n\n```bash\nresync --updated --changed --removed --added --emptied --select \"/A/\" --select \"/C/\" --confirm SOURCE_FOLDER/ TARGET_FOLDER/\n```\n\nFinds the updated/changed/removed/added files and the emptied folders, selecting only the \"/A/\" and \"/C/\" folders, prints these changes and asks confirmation before applying them to the target folder.\n\n```bash\nresync --updated --removed --added --preview SOURCE_FOLDER/ TARGET_FOLDER/\n```\n\nFinds the updated/removed/added files and previews these changes without applying them to the target folder.\n\n```bash\nresync --adjusted 1 --allowed 2 --confirm SOURCE_FOLDER/ TARGET_FOLDER/\n```\n\nFinds the files with a slightly different modification time, prints these changes and asks confirmation before fixing the modification times in the target folder.\n\n```bash\nresync --moved --confirm SOURCE_FOLDER/ TARGET_FOLDER/\n```\n\nFinds the moved files and applies these changes to the target folder.\n\n## Version\n\n2.0\n\n## Author\n\nEric Pelzer (ecstatic.coder@gmail.com).\n\n## License\n\nThis project is licensed under the GNU General Public License version 3.\n\nSee the [LICENSE.md](LICENSE.md) file for details.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsenselogic%2Fresync","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsenselogic%2Fresync","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsenselogic%2Fresync/lists"}