2

I am experimenting with VirtualSVN Server, TortoiseSVN and AnkhSVN, and everything is still quite new to me.

I have added a Visual Studio 2010 (VB) solution to SVN. After this was done trunk contained version 1.0.0, I had a tag containing version 1.0.0, and a branch containing version 1.0.0-dev. I started to work on 1.0.0-dev (from the branch) and when version 1.1.0 was ready, I created a tag version 1.1.0, and a new branch 1.1.0-dev.

Then I wanted to merge this latest version (branch 1.1.0-dev) to the trunk, but run into a huge list of merge (tree?) conflicts. Most of them because of dll-files, executables and other binary files. It seemed a good idea to ignore these files, so I did from Windows explorer, right clicking each type of file, selecting from the context menu "TortoiseSVN - Unversion and add to ignore list - *.dll" (after that also *.exe and some other files).

Now I'm left with a solution directory tree with lots of yellow exclamation marks as well as deleted marks.

My questions are:

  1. How do I update the trunk so it contains the latest version?
  2. How do I ignore dll's that are being created by Visual Studio when building the solution anyway?
  3. There is one third party dll that is not build and should be included in the repository, but the file is likely to stay the same, how should I handle that?
George
  • 1,111
  • 3
  • 20
  • 38

1 Answers1

3

First thing, to remove the deleted marks that you have, you should commit your changes first (in this case they are deletions). More info on this in the SVN Book.

Secondly, it seems that you unversionned your binary files before resolving the conflict that I think is not so good... I would have done it this way:

  • having binary files present both in the trunk and on the dev branch, merge changes
  • you get conflicts on these binaries
  • you resolve the conflict (using either the branch's or trunk's version)
  • then you delete those binaries from the repository (and add them to the ignore list if needed)
  • don't forget to svn commit your deletion

To answer your three last questions:

1-How do I update the trunk so it contains the latest version?

You will have to merge your development branch into your trunk with a command like this (assuming that you have a working copy of the trunk, and that the branch was created in revision 25):

svn merge -r 25:HEAD http://your/repos/branches/my-branch

2-How do I ignore dll's that are being created by Visual Studio when building the solution anyway?

You shouldn't have added these files first. But anyway, you can remove them from your SVN repo and they will be created again during your next build. You can have a look to this question to have more information on this.

3-There is one third party dll that is not build and should be included in the repository, but the file is likely to stay the same, how should I handle that?

You can add binary files to your repository as you would do with any other type of files. In case SVN does not detect properly that your file is a binary, you can force it using the svn propset command as explained here.

Community
  • 1
  • 1
Yannick Blondeau
  • 9,465
  • 8
  • 52
  • 74