The next major set of tasks to tackle are delete and update. Version control systems typically version updates to a ?le and only store the differences between the ?les. Two system command which may help with this task are diff and patch. In a version control system, versioning should be explicit and not transparent. So, you will need to develop a reasonable versioning scheme. Also, remember to ?x up the get command so that you can recover the most recent working version from the delta of each version.
The ?nal milestone for your system is to support moving ?les from one directory to another. This is a potentially dif?cult task since you must move the version history, and con?icts are likely to arise if the same ?le already exists in the target directory. Your task is to develop a graceful way to handle these con?icts.