{"id":15393276,"url":"https://github.com/joachimschmidt557/src","last_synced_at":"2025-03-27T23:42:54.112Z","repository":{"id":137949222,"uuid":"245854729","full_name":"joachimschmidt557/src","owner":"joachimschmidt557","description":"a shell script which manages source directories","archived":false,"fork":false,"pushed_at":"2022-07-16T12:11:01.000Z","size":31,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-02T01:44:48.427Z","etag":null,"topics":["shell"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/joachimschmidt557.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2020-03-08T17:09:06.000Z","updated_at":"2022-06-18T09:17:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"42b5b920-40e2-4356-b98e-9e142af33eea","html_url":"https://github.com/joachimschmidt557/src","commit_stats":{"total_commits":19,"total_committers":1,"mean_commits":19.0,"dds":0.0,"last_synced_commit":"130d2b53fffa76d56ae1f78227d7e832bd5b4605"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joachimschmidt557%2Fsrc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joachimschmidt557%2Fsrc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joachimschmidt557%2Fsrc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joachimschmidt557%2Fsrc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joachimschmidt557","download_url":"https://codeload.github.com/joachimschmidt557/src/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245944063,"owners_count":20697948,"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":["shell"],"created_at":"2024-10-01T15:18:38.415Z","updated_at":"2025-03-27T23:42:54.089Z","avatar_url":"https://github.com/joachimschmidt557.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# src\n\nA small POSIX `sh` script which manages source directories for you.\n\n## Features\n\n* Simple `.srcfile` syntax\n* Support for git repositories, tarballs and zip archives\n* Compare the actual state of a directory with the content the srcfile dictates\n\n## Get started\n\n``` shell\n$ git clone https://github.com/joachimschmidt557/src\n$ cd src\n$ sudo make install\n```\n\n## Usage\n\n```\nUsage: src [COMMAND]\n\nCommands:\n\ta, add\t\tAdd a source\n\td, diff\t\tCompare actual state of directory with wanted state\n\ti, install\tInstall a copy of this script into the current directory\n\tls, list\tList managed directories\n\trm, remove\tRemove a source directory\n\tu, update\tUpdate source directory\n\nFlags:\n\t--help, -h\tDisplays this help\n\t--version, -v\tShow version and exit\n```\n\n## Use Cases\n\n### Many source repositories\n\nIf you like to keep track of source directories (git repositories and tarballs)\nthen src will help you with keeping track of these. In addition, when moving to\na new machine, you can just copy your `.srcfile` and type `src u` and you're all\nset.\n\n### Alternative to git submodules\n\nWhen other sources need to be embedded in a project, `src` can help out. Just\ncreate a `.srcfile` with the dependencies and run `src u` whenever you need to\ninitialize or update the dependencies. With `src i` src can replicate itself\ninto the current working directory for others to use. It is also possible to\nquickly generate `.gitignore` files for the dependencies with `src ls \u003e\n.gitignore`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoachimschmidt557%2Fsrc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoachimschmidt557%2Fsrc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoachimschmidt557%2Fsrc/lists"}