(By: Souris Ash (GUI) - 19BCE0392, Atharva Gundawar (CLI) - 19BCE0388)
Commit-Man is a version control system that helps the user keep track of and manage different versions of their files. It features a CLI and a GUI - the complete set of features are available in the CLI, while the GUI features a limited set of features currently (primarily repository browsing functions and viewing diffs across versions).
A repository can have a .gitignore file that specifies for which files changes are to be ignored across versions (when creating new versions). A special folder (.cm) in each repository stores data for version management.
CLI features
- Initializing a repository
- Committing a version and making a new version
- Reverting back to an old version
- Reinitializing in case of corrupted data
- Displaying Logs and Command description
GUI features
- Viewing commit history
- Browsing the repository
- Viewing diffs of files across versions
- Viewing repository info
Please find the source code of the CLI in the folder Commit-Man-CLI and for the GUI in the folder Commit-Man-GUI.