If you've been using Subversion (Svn) with branches and had to perform a merge, than you've already screamed in despair just like I've just done.
Svn, up to version 1.5, was unable to perform merge tracking correctly, a major functionality to everyone who has to work with several versions of the same application.
But fortunately, version 1.6 already has merge tracking working correctly.
I already had Svn 1.6 client installed, so all I need to do was upgrade the Debian server to Lenny and the manually upgrade the Svn server to version 1.6.
Everything went well, and there weren't many dependencies needed to be installed manually, so it was even easier than I expected.
Having everything in place, it was time to perform the merge. The merge consisted in including the maintenance branch into the development branch.
This was the second time this kind of merge was going to be performed. Since the previous merge was done without merge tracking, the logs and the graph was kind of useless to know the files history.
Even worst, when the merge was tested, it looked like the first merge had to be repeated. I did not understood this Svn weird behavior and found no reason for it, but there were files that were selected to be merged twice. The first merge was going to happen to the file contained up to revision 2636 and the other merge from revision 2637 up to the Head revision.
It had to be done carefully, but 8 hours later, the merge was done with no problems.
Since this merge was performed with the merge tracking functionality working, now it is possible to automatically track the file evolution. I'm hopping to have a faster, and with less stress, merge in the future.
./M6
Showing posts with label subversion. Show all posts
Showing posts with label subversion. Show all posts
Subversion project tree structure is not like CVS
I've used CVS for many years but I've made a move to Subversion (Svn) a couple of years ago.
CVS and Svn share the concepts of main trunk, tag and branch, but in Svn, things are work a little different so I had to learn how to make tags and branches again.
The main differences rely on Svn structure,that specifies each on its own location:
The trunk is were the daily development goes. Here's a couple of examples:
svn://myserver.net/repository/trunk/msc-project
svn://myserver.net/repository/trunk/msc-thesis
The tags is where a tag goes. Here's the same example:
svn://myserver.net/repository/tags/msc-project-stable
svn://myserver.net/repository/tags/msc-thesis-revision1
The branches is where where a branch goes. Again, the same example:
svn://myserver.net/repository/branches/msc-project-v1
svn://myserver.net/repository/branches/msc-thesis-final
For more information about Svn, I advise the reading of Version Control with Subversion.
./M6
CVS and Svn share the concepts of main trunk, tag and branch, but in Svn, things are work a little different so I had to learn how to make tags and branches again.
The main differences rely on Svn structure,that specifies each on its own location:
- {repository}/trunk/{project}
- {repository}/tags/{project}
- {repository}/branches/{project}
The trunk is were the daily development goes. Here's a couple of examples:
svn://myserver.net/repository/trunk/msc-project
svn://myserver.net/repository/trunk/msc-thesis
The tags is where a tag goes. Here's the same example:
svn://myserver.net/repository/tags/msc-project-stable
svn://myserver.net/repository/tags/msc-thesis-revision1
The branches is where where a branch goes. Again, the same example:
svn://myserver.net/repository/branches/msc-project-v1
svn://myserver.net/repository/branches/msc-thesis-final
For more information about Svn, I advise the reading of Version Control with Subversion.
./M6
Labels:
branch,
cvs,
structure,
subversion,
svn,
tag,
trunk,
versioning
Subscribe to:
Posts (Atom)