Wednesday, April 29, 2015

Sometimes, I seem to be getting a conflict when trying to commit a change to SVN, if someone else has already committed the same exactly change before me.

So, I create a little repo with a single Java file in it and branched it. Let's assume the file is like this:

1: Line1
2: Line2
3: Line3
4: xxx NIE yyy
5: Line5
6: Line6
7: Line7

On the trunk, I have changed NIE to TAK and Line2 to XXX and committed the change. On the the branch, I have changed NIE to TAK and Line6 to YYY and committed the change as well. When I merged the changes in trunk into the working copy of the branch, I've got only a change of Line2 brought in.

So, the conclusion is, that an identical change is merged by SVN smoothly, even if other non-matching changes were found nearby. Or possibly, it's not SVN but the merge tool, which in my case was the Tortoise SVN built in merge tool.

Wednesday, April 22, 2015

SVN let's you create links inside the repository. For example, if with your project A you always need a module B, which is in another part of the SVN repo, you may want to create a svn:external to B in A.Steps:

open the project A in repo browser

right-click on the project and select properties

click New->Externals to create a new one or select it and click Edit to modify an existing one

point the external to B and carefully consider whether you want to point it to the HEAD or to a specific version; the latter will make your project A always build regardless of what happens with project B

The same dialogs you can access from windows menu of folder A of the working copy, from the Subversion tab. Once you're there, click on Properties.

Monday, April 20, 2015

First, there was Source Forge. It was big, as if open source was invented there (well, other than linux). Then, it faded into the past (security issues?). Google Code became the thing. This year, Google Code is closing. GitHub is the center of the universe.