Changes in SVN and Tortoise

SVN is a leading open source software for source control and revision. It allows multiple programmers to work in the same source base, without the need of dividing the code through the group. The way SVN operates is by maintaining sets of changes for each source file in a project. This way, it is easy to integrate changes by different members of a group, without creating incompatibilities. Even if incompatible changes are made to the same file by different programmers, SVN will show where the incompatibilities are, and propose solutions.

SVN went through a recent overhaul, which made it even more useful and easy to use. The main change in the version 1.5 is the additional data saved during merges. A file maintained in SVN can be branched into separate version, which a software group can use to create a new version of the software. For example, suppose that you are implementing a new feature in a project. Then, to implement this feature without disturbing other parts of your group, a strategy is to create a branch with you own version of the file, and changes to the project will be contained to the separate branch.

The big problem with branches happen when we need to merge them. The longer the two branches stay separate, the more difference will exist between these versions of the project. This make it difficult to reconcile the differences and merge the files into a unique version. In the previous version of SVN, after this was done, there was no easy way to see where the changes in the final code came from. The history of changes was contained in the separate branches, and therefore, the new merged version had no access to the history of both sets of modifications.

SVN 1.5 fix this problem by introducing new commands to merge separate branches and keep the history of these modifications. With this new version, SVN can show where each modification came from after a merge.

To use SVN 1.5, however, you must be aware that some modifications will be made to the repository in order to support this new feature. The reason is that the repository needs to keep extra information that will be used in the case of branch merges. The only reason this might be a problem is that SVN clients that are unaware of the new format will not work. For example, Tortoise SVN needs to be upgraded to a version that supports SVN 1.5.

Despite of the small inconvenience of having to update the client software, using the new SVN will bring many improvements that are certainly worth the trouble. The additional data stored in the source control database will allows developers to make safer modification to source code. This, in turn, can lead to better productivity in teams of all sizes. It is certainly an advance in the way source code is shared and used.
Article created on 2008-08-25 23:10:29

Post a comment