the VCS built to be fast
Find a file
2025-03-18 18:55:39 -05:00
.gitignore Initial commit 2025-03-18 21:42:01 +00:00
BRANCHES.md Add branch and mod files and basic structure of .venus directory. Added fields to object files and upgraded version in object file. 2025-03-18 18:55:39 -05:00
LICENSE Initial commit 2025-03-18 21:42:01 +00:00
MODS.md Add branch and mod files and basic structure of .venus directory. Added fields to object files and upgraded version in object file. 2025-03-18 18:55:39 -05:00
OBJECTS.md Add branch and mod files and basic structure of .venus directory. Added fields to object files and upgraded version in object file. 2025-03-18 18:55:39 -05:00
README.md Add branch and mod files and basic structure of .venus directory. Added fields to object files and upgraded version in object file. 2025-03-18 18:55:39 -05:00

Venus

Venus is a work-in-progress VCS built to be fast and efficient. Tired of waiting ages for Git to "resolve deltas"(a process vital to the way git works)? Use Venus(when it's functional, of course)!

Glossary

mod: Equivalent to commits in other VCS'. object: A file storing differences from the previous mod.

.venus structure

.venus/objects: Object files(specified in OBJECTS.md) with the extension of .venus-object. They are named after the SHA512 hash stored in the object truncated to 16 characters and then the hexadecimal unix timestamp in nanoseconds of the object's creation. For example, cf83e1357eefb8bd182e06194db125d7.venus-object would be an object file with completely empty content created on Tuesday, March 18, 2025 at 10:26:52 PM GMT. This string of hexadecimal characters is also used to identify the mod. .venus/branches: Branch files(specified in BRANCHES.md) with the extension of .venus-branch. They are named after the branch name(i.e. main.venus-branch), meaning that branch names have to be unique. .venus/mods: Mods files(specified in MODS.md) with the extension of .venus-mod. They are named with the SHA512 hash of them truncated to 16 characters and concatenated to the unix timestamp in hex of their creation date. .venus/mods/NEW_MOD.venus-mod: A file similar to git's COMMIT_MSG file. Staging file while the user is creating a new mod. .venus/active/BRANCH: A file containing only the active branch name. .venus/active/MOD: A file containing only the active module of the module file name without the extension.