Skip to content

A Java console app simulating a lightweight version control system with branching, commits, undo/redo, and code review comments. Built using core data structures like linked lists, trees, stacks, and hash maps.

Notifications You must be signed in to change notification settings

singh-aadya/CodeReviewVCS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 

Repository files navigation

CodeReviewVCS

Code Review & Version Control Simulator

A console-based Java application simulating a lightweight version control system with branching, merging, undo/redo, and code review comments — built purely using core data structures like linked lists, trees, stacks, and hash maps.


Features

  • Create, edit, and delete lines in multiple files
  • Commit snapshots of project files with commit messages
  • Manage multiple branches, switch between them
  • Undo and redo file edits before committing
  • View commit history as a commit graph (tree structure)
  • Store and retrieve code review comments linked to specific file lines
  • Console-driven user interface for easy interaction

Data Structures Used

  • LinkedList — for storing lines of code and efficient edits
  • Trees — to represent commit history and branching
  • Stacks — to implement undo/redo operations
  • HashMap — for fast lookup of files, commits, and code review comments
  • Queues — to manage merge conflicts and review tasks (planned)

Getting Started

Prerequisites

  • Java 8 or higher
  • Maven or Gradle (optional, for building)

How to Run

  1. Clone the repository: git clone https://github.com/singh-aadya/CodeReviewVCS.git

  2. Compile the project: javac -d bin src/main/java/com/yourname/vcs/**/*.java

  3. Run the console UI: java -cp bin com.yourname.vcs.ui.ConsoleUI

Usage

  • Follow the console menu prompts to create files, edit content, commit changes, create branches, and more.
  • Undo and redo edits before committing to keep your code clean.
  • View commit history and switch between branches seamlessly.

Future Enhancements

  • Merge branches with conflict detection and resolution
  • Persist data to disk for session saving/loading
  • Enhanced code review workflow with notifications
  • File-level history and rollback options

About

A Java console app simulating a lightweight version control system with branching, commits, undo/redo, and code review comments. Built using core data structures like linked lists, trees, stacks, and hash maps.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages