Version Control is a critical tool in development and production environments that allows a user to make snapshots of working con?gurations or code. In this assignment, you will develop a custom version control system for text ?les. Your task is to create a new version control system, and not just use one which already exists. There are only two golden rules for this task.
1. You must implement the commands which are in the spec. You can add any additional commands that you believe make your program better.
2. You are not allowed to call commands to do the work for you from any known version control system. This includes but is not limited to: rcs, sccs, cvs, git, mercurial, arch, subversion, monotone, bazaar or any other. You can (and should) investigate how the various systems work and base your design decisions on your research.