Subversion is a version control system. What’s this? Well, let me give you a small example. Do you remember when we were doing work for the school in groups? That task were very difficult to coordinate. Everyone makes a separate section of the work, following the same patterns, but without touching direct the work of others. Therefore, at home (where each student worked), you cand find a totally different copy of the work, until one day the whole group was meeting, to mix everything and give a full sense.
So, if this document is in a word Subversion repository, the document will be, as they say, synchronized. This would mean that everyone would have their copies, as in the previous situation, but could be in line changes that others had made to the document, both in their sections as their own. We could amend the text of our colleagues and they, to synchronize themselves, see where we have made these changes. All versions are different, so anytime we could go back to the version that was saved a week ago.
Sure that all these ideas sound good, positive … So imagine how it should be this kind of powerful tool in a whole project, with a lot of developers working at the same time, a lot of different files, Forks of the project … Nothing better to encourage you to try it as a manual to mount it on your machine.
In fact, a link that always goes well: http://es.wikipedia.org/wiki/Subversion
Howto SVN Server:
In principle, when you have set off these packages, you have the application “svnadmin”. Now you have to create the directory where you want to place the repository, and create the necessary files within that directory with the help of “svnadmin”. It could be something like this:
Entering within the directory you just created, we will see that “svnadmin” We have created a directory structure, and a Readme.txt … so it would not be making more of an RTFM! (I have just read and are 4 lines that make them feel that everything is controlled).
At this point, we already have the file system ready, and move on to focus on the configuration of the SVN server. First, changing the configuration file subversion, and then modify the users who have access to our manager versions.
anon-access = none
auth-access = write
password-db = passwd
When you run this command, we do not return any echo, as will the SVN server running on port 3690 of the machine. We can see it with lsof-i:
By the way, now that I look at the line, it would be interesting to svnserve not run as root, but the repository is under the permissions of a user running, and the process svnserve a call from that user.
Howto Eclipse SVN (Subclipse)
One of the tools I use is against the Eclipse SVN (in fact, the only). And here a small sample configure for the Eclipse as a client of our Version Manager. The only requirement is to be installed off the plug “Subclipse” our Eclipse. Personally, I use the distribution of Yoxos Eclipse (http://www.yoxos.com/ondemand/) which leads me to this plug set off, so I never had to worry about it. In any case, should not be much problem finding a howto on how to set up this …
In case you have already set off, however, we must open the prospect “SVN Repository Exploring.” There, do:
Right click on the area “SVN Repository” – New – Repository Location
The only field that they want are “URL”, where will the leadership of our server. If you look at what we have in place, remember that our repository was to “/ opt / subversion” so that “subversion” is the name of our repository. This URL is formed as follows:
svn:// + domain + repo
Clicking on “Finish”, we will all have projects in the repository (there will be no if you have just set up the platform!)
At this time, our Eclipse will be able to share projects. I do not want me to explore much of it because there are a lot of topic to write … but to introduce ourselves, I have to say that you can share an existing Java project with the SVN platform going to the Java perspective and doing this simply step:
Right click on the project – Team – Share project
I hope that this manual, written with the best intentions, we’ve provided some help! And remember… you can do a little bit of feedback 😉