In an attempt to provide easy
reference to the CVS terms, we included a short list of the most
essential terms.
Repository:
A repository is a centralized
storage area(probably a directory
tree) where all the resources of a project is stored. The repository
also contains full revision history, so that we can be able to obtain
any particular revision of the project. It can also be called as the
master copy.
Checking out:
It means, just
obtaining a revision from the repository
so that one can be able to modify the source code and thereby enhancing
the project or fixing some bugs in it. The checked out copy is called Working Copy.
Checking in or Commiting:
It is the process of storing the
modified source code(from the working copy, where you will make all the
changes to your source code) into the repository as a new revision.
Working copy:
The copy in which you actually
make changes to a project. There can be many working copies
of a given project; generally, each developer has his or her own copy.
A Small Life Cycle:
Discussing a typical scenario would explain the
concepts better,
instead of throwing some arbitrary terms. Just consider that you want
to create a project and put it under version control.
Initially, you will create a directory tree containing all your
programs that makeup the project(not necessarily be complete). Then,
you want to place all your source files in the Repository. But before
that you have to create a repository. This creation process is nothing
but Initializing a Repository.
The act of placing your initial source code files into the repository
is called Import a Project into
the repository.
Now, you have set up a repository with a project in it. Then,
(obviously) you want to make some changes to your source code so that
few bugs can be fixed. Since you are maintaining your source code under
version control, you have to request the version control system to get
a copy of your source code files. This process is nothing but Checking out a Project(or Module)
from the repository.
After few hours or days of work, you have finally broken your head to
fix the bugs. But don't relax, now you have one more work left out. You
have made changes only to the working copy(or checked out copy) and you
haven't stored these changes into the repository. This kind of storing
process is called Checking in or
Committing changes to the repository. This committing process
extends till the wear out phase of your software.