JereMIbq1995 / JeremyVersionControl

0 stars 0 forks source link

JVC (Jeremy's Version Control)


JVC is another crazy version control like git. It's very similar to git. But much simpler to use :)

Compilation:

Requirements:
  - g++ version 11.2.0 (This is the version I used to develop the program. Older or newer versions might work but no guarantee)

Step 1:
  Run command: g++ main.cpp -o bin/jvc.exe
  Once this command is ran, a bin folder in the project folder will be created

Step 2:
  Add the full path of the "./bin" folder to the PATH variable of the environment
  so that jvc can be used anywhere on the computer

Step 3:
  Finally, open a test folder and test the 5 functionalities that JVC has: init, status, save, revert, and history

Usage:

1. init
  From any folder, open the command line and run jvc init. This is to initialize a folder as a jvc repository
and start tracking any changes made to the repository.

2. status
  Now, feel free to add, modify, or delete files and folders inside the repository. At any point, to see if there is any change
to the repository compared to the last save, run command jvc status. Notice that the status functionality also show the version index
of the current version to which changes are compared to.

3. save
  At any point, to save changes made to the repository, run jvc save. This functionality also takes in an optional parameter
which is the message associated with the save. For example, you can run jvc save as followed:
   > jvc save "Added a new text file"
  If the message is not provided, a default message will be used: "Version (new-version-index)"

4. history
  If you would like to see the save history of the repository, run jvc history, which shows the chronological order
of all saves leading up to the current version.

5. revert
  If you would like to revert to a certain version in your save history, you can run jvc revert. For example, to revert to a version
that has index '3', you would run the command:
   > jvc revert 3
  Notice that the version index is required to run this command. Without it, the command will not do anything and display a usage or
an error message. It also is recommended that you use jvc history to look at the save history to familiarize yourself with the
version index system before running the revert command.

6. ignore
To specify which file should be ignored by jvc, create a ".jvcignore" file and put the paths of all to be ignored files or folders
inside this file, sparated by the return character.
This is very similar to ".gitignore"
CAUTION: This feature is still a little immature. So to avoid bugs, please make sure that the format of the paths put inside .jvcignore
are as simple and intiutive as possible :)

Have fun! And thank you for checking out JVC! :)