Like I said, we don't even have a path named "trunk".

The paths to the above versions in the repo would be like:

svn://server/repo/project/v1.0.0
svn://server/repo/project/v1.0.1  (this was copied from the 1.0.0 path)
svn://server/repo/project/v1.0.2  (this was copied from the 1.0.1 path)

On my dev machine I have a dev root in my Users folder named "development". I check out each version to that. I DON'T use switch. I think it is too easy to forget which current version you are switched to. So, I would have all three version check out like this:

Development\Project-v1.0.0
Development\Project-v1.0.1
Development\Project-v1.0.2

Weekly we do a merge. Let's say the oldest release with changes in 1.0.0. So, I would do something like:

cd Development\Project-v1.0.1
svn merge svn://server/repo/project/v1.0.0 (I actually use TortoiseSVN but I think that is the command line version)

I resolve and conflicts, build, test, commit. Once the build server gives me a green build I move to the next version.

cd Development\Project-v1.0.2
svn merge svn://server/repo/project/v1.0.1

Rinse and repeat.

Notice, I didn't specify and ranges. svn figures out what revisions from the source path have not yet been merged in for me.

BTW: Just as an aside we do have a branches folder in the project and this is where we put feature branches. Although we don't use them too often, we have used them.

BOb


This seems really nice and models my workflow very well, but I followed the documentation when I started using SVN and I have a trunk now. 1. Since I have a trunk with a branch off of it, is it possible to make regular merges from my branch back to the trunk using the same command?
i.e.  (from trunk working copy) svn merge branch

2. I just tried the above command and it started trying to merge things from months ago together. Is there any way to tell SVN what it should use as a baseline for automatic merges? I tried tried just letting it finish and then replacing all of the source files and doing a commit, but this didn't seem to have any effect. Issuing the command again gave the same results. I also tried --record-only which did the full merge anyway.

Daniel

Reply via email to