Your Ad Here

Auer Productions Corporate Blog
Version 1.0

Designed & Developed using the following tools:
Netbeans IDE 6.0.1
Dojo Toolkit
Crystal Project

Monday, May 26, 2008

Subversion & Version Control

In the IT industry and world of Object Oriented Programming, most of us would have heard of Source/ Version control, CVS, Subversioning or CMMI. These are tools and standards that help programmers like us to work together with one another and provide a central respository for us to share our code throughout the development phase without much hassle and having stability in the project.

Why Subversion?
However, one might ask, why use Subversion when we can actually sit down together, plan the whole thing and then just do it once the planning is completed? This was called the waterfall model in the past. It is PROVEN to fail in many big and complex solutions to industries problems today. A decade ago, a solution is simple, straight to the point, and without much changes. We just build what the client wants us to build and that's all.

Now, the industry had change. We are given a problem, and from there, we as developers have to think of the problem, generate the necessary use cases and then derive the class diagrams and finally go into development phase. Furthermore, in this age of rapidly changing technologies and standards, our development phase will encounter small to big changes depending on the client's wishes. If one is not dynamic and fluid in his change, he will lose out to his competitors and in turn his income.

So explaining the reason why we need subversion is easy. But then, how do we use subversion? What kind of subversion should we use? How are we going to differientiate between the many versions of subversion in the industry? These are the key points that we as developers have to answer when using subversion.

What Kind of Subversion should We Use?
For those whose favourite IDE is netbeans will have heard of Collabnet's Subversion. It is an intergrated subversioning tool in NetBeans from 6.01 onwards with very powerful IDE based checkout/commit tool. All you need is just the respository URL address, your user/password and you're ready to start.

For those who want their subversion to be intergrated in the shell, use TortiseSVN. It is a free open source subversioning tool created by Tigris as a windows shell extension of subversion. You can just committ, check out or do anything with it from the explorer itself.

For those using Eclipse, you will heard of Subclipse, a plugin tool from Tigris too for subversioning in the Eclipse IDE.

How do we use subversion?
Since Subversion is a kind of version control system using the Copy-Modify-Merge model, it is important that we understand what that model is.



Taken from http://svnbook.red-bean.com/en/1.1/ch02s02.html the following shows how the Copy-Modify-Merge Model works. For more information, please visit the link.

Other than the Copy-Modify-Merge Model, there is also the Lock-Modify-Unlock Solution whereby the file is being lock during editing and unlock once the editing is done. In this case, there is only 1 copy of the file at any time and it has much more disadvantages than the Copy-Modify-Merge Model so currently, the industry is moving on to the 2nd model as a result of change.

Where we are heading...
In Conclusion, with many leading projects becoming open source, more developers are also learning how version control works in order to participate and contribute their ideas to the projects in hope that one day, they will be under the list of names and bask in the glory of their creations. Thus, subversioning is a very important concept that we, as developers of the next generation and Web 2.0, should grasp.


Disclaimer: This entry covers a lot on Subversion, however, there are other versioning tools out there like CVS and mercurial that are not covered. The author sincerely apologise for this lack of coverage due to time constraints and inexperience in those tools. Sorry for any inconvience caused. With regards to the links and photos, the author would like to explicitly thank the source contributor and express acknowledgement of using the images.

Labels: , , , , ,


Documents / Works created by Auer Productions

IT 2155 06 exam answers
OS MCQ Notes 2004 - 2007 Eledonia
SGConfessions (Coming Soon)
Auer's WebWorld (Coming Soon)

Past Entries


Archives


External Links
Google Android Flex Development Forum Zackal Technology Page Mervin Kelvin Warcraft III hp Viewer Official
Best viewed with Internet Explorer 7.0 at 1024 x 768 Screen Resolution.