Monday, May 17, 2010

Tortoise Svn

TortoiseSVN is a free open-source client for the 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”.

The Lock-Modify-Unlock Solution

Many version control systems use a lock-modify-unlock model to address this problem, which is a very simple solution. In such a system, the repository allows only one person to change a file at a time. First Harry must lock the file before he can begin making changes to it. Locking a file is a lot like borrowing
a book from the library; if Harry has locked a file, then Sally cannot make any changes to it. If she tries to lock the file, the repository will deny the request. All she can do is read the file, and wait for Harry to finish his changes and release his lock. After Harry unlocks the file, his turn is over, and now Sally
can take her turn by locking and editing.

TortoiseMerge

TortoiseMerge is a tool for easily apply patches.

TortoiseMerge helps you with both those tasks:
• Reviewing patches
• Applying the patches

If you're working with a version control system (e.g. Subversion) then you sometimes get conflicts when you update your working copy. This happens if someone else changed the same parts of the file you're currently working on as you did. Then you have to resolve those conflicts manually. This is where TortoiseMerge can help you.

TortoiseMerge has several different uses:
• Viewing the difference between two files and merging changes into one of them, or removing unwanted
changes.
• Editing conflicts between local changes and changes in the Subversion repository following an update.
• Applying patch files. This is the reason TortoiseMerge was created :)