TortoiseSVN is a really easy to use Revision control / version control / source control software for Windows. It is based on Subversion. TortoiseSVN provides a nice and easy user interface for Subversion.
It is developed under the GPL. Which means it is completely free, including the source code. But just in case you don't know the GPL too well: you can use TortoiseSVN to develop commercial applications or just use it in your company without any restrictions.
Since it's not an integration for a specific IDE like Visual Studio, Eclipse or others, you can use it with whatever development tools you like.
As a Subversion client, TortoiseSVN has all the features of Subversion itself, including:
- Most current CVS features.
- Directories, renames, and file meta-data are versioned.
- Commits are truly atomic.
- Branching and tagging are cheap (constant time) operations.
- Efficient handling of binary files.
- NEW: All binaries are now digitally signed. (Stefan)
- CHG: Some small improvements to the status cache. (Stefan)
- CHG: When diffing from the log dialog, the peg revision is set to
the selected revision instead of HEAD. (Stefan)
- CHG: Deleted folders are not removed from the filesystem but only marked
as deleted so they can be committed separately. (Stefan)
- CHG: Change merges to be non-forced. (Stefan)
- CHG: Performance improvment in TortoiseMerge when showing
long lines. (Stefan)
- BUG: If a commit failed, TSVN could crash in case the svn library returned
an empty error object. (Stefan)
- BUG: The merge options to ignore whitespaces were ignored. (Stefan)
- BUG: The switch dialog allowed an empty url. (Stefan)
- BUG: bugtraq: texts in the commit dialog were colored/linked wrong
if the second regex matched not at the end of the first regex. (Stefan)
- BUG: The status cache didn't release open handles long enough for
drives to be able to unmount without force. (Stefan)
- BUG: The url browse button in the checkout/export dialog wasn't enabled
even if an url was entered to browse for. (Stefan)
- BUG: A checkout could fail due to a wrong peg revision. (Stefan)
- BUG: The status cache could fail to monitor working copies
for changes. (Stefan)
- BUG: An incomplete info text was shown for tree conflicts
"incoming add upon merge". (Stefan)
- BUG: The status cache exclude list wasn't used the first five minutes
after a restart. (Stefan)
- BUG: At the end of a merge, possible conflicts were not mentioned
in the 'finished' message. (Stefan)
- BUG: possible crash in the progress dialog. (Stefan)
- BUG: The check state in the commit dialog could get lost after a failed
commit if there were checked items in changelists. (Stefan)
- BUG: A failed merge could have restarted without notice. (Stefan)
- BUG: Diffing a file added remotely in the Check-for-modifications dialog
did not work. (Stefan)
- BUG: EOLs could be lost when editing removed lines
in TortoiseMerge. (Stefan)