What are the functionalities to implement in a version control system?

advertisements

I will be implementing a version control system in C++ for my final year project.

I would like to know:

  1. What are the features a version control system should must support.
  2. What features do you consider are missing in existing implementations (so that my version control system does more than just reinventing the wheel)
  3. References (if any) to start with.

  1. What are the features a version control system should must support.
    Core features: Create Project, Check in, Check out, Branch, Get Latest/Previous, View History, Compare, Rollback
  2. What features do you consider are missing in existing implementations (so that my version control system does more than just reinventing the wheel )
    Auto Build, Code Analysis, Email Notification, In-place editor, Database based storage