Crates.io | git_vault |
lib.rs | git_vault |
version | 0.0.9 |
source | src |
created_at | 2024-11-05 16:43:04.6309 |
updated_at | 2024-11-05 16:43:04.6309 |
description | A simplified version control system built in Rust for local files, quite similar to how git functions. |
homepage | |
repository | https://github.com/saksham-tomer/vault |
max_upload_size | |
id | 1436791 |
size | 93,817 |
Vault will be a command line tool (if successful) similar to git which would have multiple features like branches etc etc.
Drop a ✨ if you are here. It would mean a lot : )
__ __ _ _
\ \ / /_ _ _ _| | |_
\ \ / / _` | | | | | __|
\ V / (_| | |_| | | |_
\_/ \__,_|\__,_|_|\__| , simplified version control for local files
Vault is a version control system in Rust, written as a learning project. It follows a similar approach of how Git works i.e.
For more details, Refer to Workflow.md (wip)
Vault is not suitable for real-world use, but might be of interest for learning about git-internals.
You can directly install from Cargo by
cargo install vault_vcs
Note - This will install the binaries with executable name vault_vcs
. So, if you want to continue using vault
as an executable name, you can alias vault_vcs
to vault
or build it from source.
git clone https://github.com/saksham-tomer/vault
cd
into the directory and runcargo build --release
This will create binaries for the project.
/target/release/
directory .) For eg, export PATH="$PATH:~/vault/target/release"
vault init
vault commit -m "Your Commit Message"
Parameter -m
or --message
is optional. It would take an empty message by default if no message is provided.
vault create branch_name
vault revert -l "No. of commits" "dir_name"
-l
or --level
defines the number of commits to go back.. For eg. -l 2 would go back 2 commits in the repository. If nothing is provided , default vaule would be taken as 1.dir_name
requires a directory name in which the files would be added. If nothing is provided, it would replace the files of the current directory.. (wip)For eg. for vault revert -l 2 hello
, a new directory would be created namely hello
, that would have the files 2 commits ago..
vault delete branch_to_delete
vault switch branch_to_switch
vault log
Note - Output of vault log just consists of the logs of current active branch.
8) (Mainly For Debugging Purposes) To read the contents of a Zlib compressed binary
vault cat hash_string_to_read
Note - vault cat
command should be run in the root directory. i.e. the directory in which .vault
exists.
.vaultignore
is not functional currentlyThere would be probably many more! Some of them are in the issues.
If you read till here, thanks for showing interest in the project :)