I have been using Tortoise SVN for a project on my personal computer as I do not have acces to a network drive from where I am working. Another developer has joined so I decided it would be best to create a branch on my local computer for his development work. The branch was then copied across to his computer via USB HDD. He has made changes and then I copy back in his changes into his branch folder on my local computer. This overwrites all the files in the branch and I then commit them using the SVN commit command. This I believe is working fairly well although I am now struggling to get the branch back into the trunk. As can be seen from the version history we have both been making changes in parallel. How do I get our two working copies merged and synced and back into the trunk?
I think I must be missing something as when I merge from my working copy to his or from his to mine the merge doesnt seem to work correctly (Missing changes from one developer or the other)
Can someone please point me in the right direction.
I have been using svn for Labview code control for a few years now and I don't think there is a way to easily merge a branch back into the trunk. In general, merging is a pretty laborious manual process, even for text-based code. For graphical code like Labview, it is nearly impossible to do automatically. I will typically avoid people working on the same VI's in parallel in the same branch or trunk. When we branch, it is for good (no future merging). In case of accidental parallel work on the same VI, we would manually "merge" the VI's (that's when the Compare VI function of Labview is useful). In conclusion, I have no solution to offer other than be more careful in the future but I would love to hear from someone who has a solution.
I've recently done this with LabVIEW, and it was quite a struggle! At various times over the past 4-5 years, I've made branches, and often within a week or two, I realize what a terrible mistake it was, and kill the branch. Yet I still do it ...
I use the "Brute Force" method of merging. I start with two Working Copies -- a Trunk WC (checked out from the Trunk) and a Branch WC. In the Best of All Possible Worlds, there will be some either new VIs in the Branch that you want in the Trunk, or "fixed" VIs that have been modified in the Branch that you want in the Trunk. Simply copy them from Branch WC into Trunk WC. [Note -- I'm assuming that both Trunk and Branch WCs use a LabVIEW Project to organize all of the VIs].
Before opening the Trunk WC VIs (and Project), delete the Branch WC (so that the VIs that you moved from Branch to Trunk will be "forced" to forge new links in their new location). Open the Project, resolve all conflicts (could be tedious, but straight-forward), then commit your Trunk Working Copy, and tell yourself "Never Do a Branch Again!".
Many thanks for the information. Having two people say the exact same thing is easily enough for me to abandon making branches. Thanks for the help with regards to overwriting the trunk WC with the branch WC and resolving the issues from the project. This gives me a way out. I think as long as I maintain my WC in SVN and overwrite any changes from the other developer I should always have an option to restore to a previous revision.
Again Thanks for the help
HI we are not able to create svn branch. we are using tortosie svn software. while creating branch its showing not responding.if you dont stop that its going on untill close the tortoise svn. this showing like some branches only not all
iam getting this problem from fast few days.
do uahve any idea please let me know due to this iam facing lot of thing went to stop...please
Have you read Section 4.19 of the TortoiseSVN Help, "Branching / Tagging"? Do you have your repository organized into /trunk, /branches, /tags folders (see Section 3.1.5)? Are you able to Commit and Update your current Working Copy satisfactorily? Is it going into a /trunk folder on the repository?
If the answer to all of these questions is "Yes", then the section on Branching/Tagging should make sense to you, and you should be able to create a branch without difficulty. Note that creating a branch is almost instantaneous if you have set up SVN and your repository correctly, as almost no copying takes place.