{"id":21171612,"url":"https://github.com/0k/aufs_apply","last_synced_at":"2026-04-24T08:32:32.261Z","repository":{"id":24453686,"uuid":"27856394","full_name":"0k/aufs_apply","owner":"0k","description":"Apply AUFS change layer to a directory","archived":false,"fork":false,"pushed_at":"2014-12-11T06:05:09.000Z","size":124,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-01-01T04:22:04.032Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/0k.png","metadata":{"files":{"readme":"README.rst","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}},"created_at":"2014-12-11T05:54:11.000Z","updated_at":"2014-12-11T07:22:13.000Z","dependencies_parsed_at":"2022-08-22T08:20:19.715Z","dependency_job_id":null,"html_url":"https://github.com/0k/aufs_apply","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/0k/aufs_apply","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0k%2Faufs_apply","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0k%2Faufs_apply/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0k%2Faufs_apply/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0k%2Faufs_apply/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0k","download_url":"https://codeload.github.com/0k/aufs_apply/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0k%2Faufs_apply/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32216220,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T08:24:32.376Z","status":"ssl_error","status_checked_at":"2026-04-24T08:24:26.731Z","response_time":64,"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":[],"created_at":"2024-11-20T16:08:47.201Z","updated_at":"2026-04-24T08:32:32.237Z","avatar_url":"https://github.com/0k.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"AUFS Apply\n\nDescription\n===========\n\nThis small script will apply an AUFS change layer to a directory.\n\nIt supports:\n\n- whiteout to remove files (``.wh.FILENAME`` files)\n- normal files are copied\n- opaque dirs are removed (``.wh..wh..opq`` files)\n\nIt tries to make the minimum filesystem change and to be performant.\n\nMain objectives where:\n\n- have the less dependency possible (only need ``bash``, no need of ``aufs`` itself)\n- touch the less files possible.\n- be quick.\n\nIf you don't need those objective, a simple cp -a from a mounted aufs\nwould do the same.\n\nWhy\n===\n\nAufs layers are a not so inefficient wait to store binary patches to big complex code\ntree. Besides, on some VM, space is an issue, and you can't afford storing GIT history\nfor instance, nor you want to install ``git`` or ``rsync`` and their dependency.\n\nVM file system is not always available from external host (think at\ndocker) with external tools.\n\nUsage\n=====\n\nFor instance, let's say you had mounted::\n\n     mount -t aufs -o br=changes:root -o udba=none none mntpoint\n\nThen you apply some changes::\n\n     cd mntpoint\n     # ... changes on filesystem ...\n     cd ..\n\nThen, for some reason, you want to remove the need of aufs, but want\nto apply the changes stored in folder ``changes``. Then you can use\n``aufs_apply``::\n\n     aufs_apply root changes\n     cd root\n     # ... marvel as your changes where applied to your directory.\n\nThis doesn't go further than this.\n\nMaturity\n========\n\nJust as been tested with a large GIT repository changes. That's all.\n\nNo Warranty of any sort. Use at your own risk.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0k%2Faufs_apply","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0k%2Faufs_apply","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0k%2Faufs_apply/lists"}