Version control is the art of managing changes to
information. It has long been a critical tool for programmers,
who typically spend their time making small changes to software
and then undoing or checking some of those changes the next day.
Imagine a team of such developers working concurrently - and perhaps even
simultaneously on the very same files! - and you can see why
a good system is needed to manage the potential chaos.
TortoiseSVN is a free open-source Windows client for the
Apache™ Subversionฎ version control system.
That is, TortoiseSVN manages files and directories over time.
Files are stored in a central repository.
The repository is much like an ordinary file server, except that it
remembers every change ever made to your files and directories.
This allows you to recover older versions of your files and examine
the history of how and when your data changed, and who changed it.
This is why many people think of Subversion and version control
systems in general as a sort of “time machine”.
Some version control systems are also software configuration
management (SCM) systems. These systems are specifically
tailored to manage trees of source code, and have many features
that are specific to software development - such as natively
understanding programming languages, or supplying tools for
building software. Subversion, however, is not one of these
systems; it is a general system that can be used to manage
any collection of files, including
source code.