The life cycle of a Version Control System is discussed in this chapter. In after chapters, we will see the Subversion command for each operation.
#### Create Repository
The depository is a central place where inventors store all their work. Depository not only stores lines, but also the history about changes. Which means it maintains a history of the changes made in the lines.
The' produce' operation is used to produce a new depository. utmost of the times this operation is done only formerly. When you produce a new depository, your VCS will expect you to say commodity to identify it, similar as where you want it to be created, or what name should be given to the repository.
' Checkout' operation is used to produce a working dupe from the depository. Working dupe is a private plant where inventors do their changes, and later on, submit these changes to the depository.
As the name suggests,' update' operation is used to modernize working copy. This operation synchronizes the working copy with the depository. As depository is participated by all the teams other inventors can commit their changes and your working copy becomes older.
Let us suppose Tom and Jerry are the two inventors working on a design. Both check out the latest interpretation from the depository and start working. At this point, their working copies are fully accompanied with the depository. Jerry completes his work veritably efficiently and commits his changes to the depository.
Now Tom's working copy is out of date. Update operation will pull Jerry’s latest changes from the depository and will modernize Tom's working copy.
#### Perform Changes
After the checkout, one can do various operations to perform changes. Edit is the most common operation. One can edit the existing file to add remove contents from the file.
One can add files directories. But immediately these files directories don't come a part of the depository, rather they're added to the pending change- list and come a part of the depository after the commit operation.
also one can delete files directories. Delete operation immediately deletes file from the working copy, but actual deletion of the file is added to the pending change- list and changes are made to the depository after the commit operation.
' Rename' operation changes the name of the file/ directory.' Move' operation is used to move lines directories from one place to another in a depository tree.
#### Review Changes
When you check out the working copy or modernize the working copy, also your working copy is fully accompanied with the depository. But as you do changes to your working copy, it becomes newer than the depository. And it's a good practice to review your changes before the' commit' operation.
Status' operation lists the variations that have been made to the working copy. As we've mentioned ahead, whenever you do changes in the working copy all these changes come a part of the pending change- list. And the' status' operation is used to see the pending change- list.
Status' operation only provides a list of changes but not the details about them. One can use diff operation to view the details of the modifications that have been made to the working copy.
#### Fix Mistakes
Let us suppose one has made changes to his working copy, but now, he wants to throw away these changes. In this situation,' revert' operation will help.
Revert operation reverts the variations that have been made to the working copy. It's possible to return one or further files directories. Also it's possible to return the total working copy. In this case, the' revert' operation will destroy the pending change- list and will bring the working copy back to its original state.
#### Resolve Conflicts
Conflicts can do at the time of incorporating.' combine' operation automatically handles everything that can be done safely. Everything additional is considered as conflict. For illustration,"hello.c" file was modified in branch and deleted in another branch. Such a situation requires a person to make the decision. The' resolve' operation is used to help the user figure out effects and to inform VCS about the ways of handling the conflicts.
#### Commit Changes
Commit' operation is used to apply changes from the working copy to the depository. This operation modifies the depository and other inventors can see these changes by updating their working copy.
Before commit, one has to add files directories to the pending change- list. This is the place where changes stay to be committed. With commit, we generally give a log communication to explain why someone made changes. This log communication becomes a part of the history of the depository. Commit is an infinitesimal operation, which means either the entire commit succeeds or it's rolled back. druggies never see partial-finished commit.