| Regular Expressions » |
Keeping branches of a project updated from the trunk
I just recently worked on a project that required us to have some base code and then for each client that we setup with the app we needed to allow them to have customization. Now the only thing that I had to factor in was that when we make changes to the base set of code we need to be able to also apply those changes to each of the customizations that we have setup. I am kind of new to this sort of thing and wasnt sure how to go about it, so with some advice from one of my developer buddies and a little research and testing I came up with this solution.
We use an SVN repository for version control and tortoise svn to communicate with that repository we kepe the normal
- trunk
- branches
- tags
folder structure and of course our main project was setup in trunk.
1. First we created a branch for each of the clients that we had form the trunk. We used the branch feature in tortoise svn to accomplish this.
2. Whenever we made any customizations just for the specific client we just switched our local copy to the branch of that client and worked from there and commited those changes back to the repository.
3. Whenever we made a change that needed to involve all the sites we switched to the trunk and made the needed changes. After the changes were commited we then switched to each branch for the clients and used tortoise svns merge feature to pull any new changes from the trunk to the branch.
If it involved anything that had a conflict you are allowed to work those but if it was just and add or a clean update then you wouldnt have to worry. After you are sure all the updates are working you would commit that update back to the repository.
So far this method seems to work out for me pretty well with keeping my code organized and also allowing version of any client changes from the initial base code.
Feedback awaiting moderation
This post has 72 feedbacks awaiting moderation...