the VCS built to be fast
Find a file
2025-03-18 19:09:31 -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
HTTPS.md Started work on HTTPS protocol 2025-03-18 19:09:31 -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 Started work on HTTPS protocol 2025-03-18 19:09:31 -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 mod file name without the extension. .venus/MOD_ORDER: A file containing a list of all mods with their respective branches in chronological order with oldest first(in the format (branch name): (mod name)). This excludes the file extension.

Files used by clients attempting to access remote HTTPS Venus repositories:

.venus/mods .venus/objects .venus/branches .venus/default/BRANCH: A file containing only the default branch name. .venus/default/MOD: A file containing only the default mod file name without the extension. .venus/VERSION: A file containing the version of the files. This should be in the format (name and version of protocol used)_(name and version of program that created the files), i.e. venus-0.1_venus-0.1.0.