/Software-Engineering-Project

Software Engineering Project

Primary LanguageJavaScript

Commit Man

(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.