search
top
Currently Browsing: SVN

SVN error “remains in conflict”

This post is a duplication of the article found at http://www.idimmu.net/2009/02/11/svn:-Aborting-commit:-remains-in-conflict. All credits go to the original author.

I got this annoying SVN error today, that I hadn’t come across before. Even after resolving the conflict in the file, highlighted by lots of <<<<<<<, I still couldn't get my commit to work!

idimmu@boosh:~/work/systems/trunk/dns$ svn ci idimmu.net -m "new funky domain"
svn: Commit failed (details follow):
svn: Aborting commit: '/home/rus/work/systems/trunk/dns/idimmu.net' remains in conflict

After some reading it was easy to resolve!

idimmu@boosh:~/work/systems/trunk/dns$ svn resolved idimmu.net
Resolved conflicted state of 'idimmu.net'
rus@boosh:~/work/systems/trunk/dns$ svn ci idimmu.net -m "new funky domain"
Sending        idimmu.net
Transmitting file data .
Committed revision 14281.

A lesson in regular svn updateing I guess :)

How to merge a branch into the trunk with SVN

This post is a duplication of the article found at http://www.sepcot.com/blog/2007/04/SVN-Merge-Branch-Trunk. All credits go out to him.

Check out a copy of trunk:

svn co svn+ssh://server/path/to/trunk

Check out a copy of the branch you are going to merge:

svn co svn+ssh://server/path/to/branch/myBranch

Change your current working directory to “myBranch”
Find the revision “myBranch” began at:

svn log --stop-on-copy

This should display back to you the changes that have been made back to the point the branch was cut. Remember that number (should be rXXXX, where XXXX is the revision number).
Change your current working directory to trunk # Perform an SVN update:

svn up

This will update your copy of trunk to the most recent version, and tell you the revision you are at. Make note of that number as well (should say “At revision YYYY” where YYYY is the second number you need to remember).
Now we can perform an SVN merge:

svn merge -rXXXX:YYYY svn+ssh://server/path/to/branch/myBranch

This will put all updates into your current working directory for trunk.
Resolve any conflicts that arose during the merge
Check in the results:

svn ci -m "MERGE myProject myBranch [XXXX]:[YYYY] into trunk"

That is it. You have now merged “myBranch” with trunk.

How to undo a merge without committing

svn revert -R .

More info: http://stackoverflow.com/questions/1896945/svn-how-to-undo-a-merge-without-commit

SVN merge trunk changes to your branch

The following article is a duplication of http://stereointeractive.com/blog/2009/02/17/svn-merge-trunk-changes-to-your-branch/. All kudo’s to them.

I always have to look up the documentation on how to merge a whole SVN branch to another. Today there were bug fixes to trunk of my project that I wanted to port into my branch. I expected this to be easy since I hadn’t made many changes to my branch, and no changes to the same files that were modified in the trunk.

Using Common Use-Cases as a reference, this is what I did:

From within my branch:

svn log

This displays the revision number for when my branch was created:

------------------------------------------------------------------------
r23 | stereosv | 2009-02-17 11:42:28 -0500 (Tue, 17 Feb 2009) | 1 line
 
creating branch for xyz

Now I need to find out what revision number the trunk is at. Perfoming an “svn update” within the trunk shows me what version it’s at.

> svn update
At revision 25.

In my case the trunk is at revision 25… implying there were only two commits since the time I checked out my branch. Nice.

Now, it’s time to carry merge these changes into my branch. Back in my branch directory, it’s time to put these revision numbers to good use.

svn merge -r 23:25 svn+ssh://username@svnserver/home/username/svn/project/trunk

What this does is merge the changes that were made between revision 23 (when I created my branch) and revision 25 (the most recent revision of the trunk) in the trunk into my working copy.

Now, it’s time to check in my branch, with the updated changes from the trunk.

svn ci -m "Merged trunk changes r23:25 into my branch"

Ignore directory in SVN

On the command line, go to the directory you want to ignore. In the directory, type:

svn propset --quiet svn:ignore '*' .

« Previous Entries

top