{"id":20721497,"url":"https://github.com/cleancut/vc","last_synced_at":"2025-12-24T05:33:58.398Z","repository":{"id":66175046,"uuid":"198914337","full_name":"CleanCut/vc","owner":"CleanCut","description":"vc is an implementation of Git in Rust","archived":false,"fork":false,"pushed_at":"2021-04-03T04:48:19.000Z","size":32,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-17T22:43:35.857Z","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":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CleanCut.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":"2019-07-25T23:33:45.000Z","updated_at":"2024-05-27T16:35:35.000Z","dependencies_parsed_at":"2023-02-21T05:16:04.973Z","dependency_job_id":null,"html_url":"https://github.com/CleanCut/vc","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CleanCut%2Fvc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CleanCut%2Fvc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CleanCut%2Fvc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CleanCut%2Fvc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CleanCut","download_url":"https://codeload.github.com/CleanCut/vc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242995915,"owners_count":20218829,"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":[],"created_at":"2024-11-17T03:28:06.692Z","updated_at":"2025-12-24T05:33:58.365Z","avatar_url":"https://github.com/CleanCut.png","language":"Rust","readme":"# vc\n\n`vc` (short for `version control`) is a rewrite of Git in Rust.\n\n# Status: Pre-alpha\n`vc` is not yet stable or complete.  In fact, it's not even _useful_ quite yet. You shouldn't consider using it in this state unless you are interested in participating in the development of it.\n\n## Goals\n\n- Learn Git internals by implementing them myself in Rust.\n- Write the Git parts themselves in plain Rust using the standard library.\n- Lean on external crates as much as possible for non-core-Git functionality.\n- _Start_ by mirroring the internal naming and location of logic from C Git where it makes sense.\n\n## Non-goals\n\n- Making this work for anyone other than myself\n- 100% bug-for-bug compatibility\n\n## Roadmap\n\n- [x] Command-line argument handling skeleton\n- [ ] `init` (`builtin/init-db.c`) _in progress_\n- [ ] `config`\n  - [ ] Then go back and finish parts of `init` that interact with `config`\n- [ ] Testing framework (`t/`)\n  - Script that downloads `t/` from `git/git`, and patches it to work\n  - `t/0001-init.sh` can run and some of the tests pass\n- [ ] `hash-object`\n- [ ] `cat-file`\n- [ ] `log`\n- [ ] `ls-tree`\n\n## Notes\n\nBlock comments (using `/* */`) are copied-and-pasted from C Git. For example:\n\n```\n/*\n * GIT_WORK_TREE makes sense only in conjunction with GIT_DIR\n * without --bare.  Catch the error early.\n */\n```\n\nAny other style comment is from me. For example:\n```\n// todo: Do the thing...\n\n/// This Rust struct represents the...\n\n//! This module is for...\n```\n\n\n## Useful Development References\n\n- [Git](https://github.com/git/git)  -- which I'll refer to mostly as `C Git`\n- [Write yourself a Git](https://wyag.thb.lt/)\n- [Git pack format](https://github.com/git/git/blob/master/Documentation/technical/pack-format.txt)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcleancut%2Fvc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcleancut%2Fvc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcleancut%2Fvc/lists"}