I always use Tags to tag a release whenever a new release version is deployed. When you create a branch simply rename the folder from branch/branches to tag. When the developer branch or feature branch is ready for release, merge changes back from the branch to trunk. Because, after a couple of days conflict between trunk version and branch version can get out of hand and merging will practically be impossible. It is always beneficial to merge changes from trunk frequently. It is the responsibility of the team lead to merge changes from trunk to this feature branch on a regular basis. It is the responsibility of the developer to regularly (timeframe depends on your development environment) merge changes from trunk to his branch.Ĭreate a feature branch if 2 or more developers are going to work on a new feature that will take considerable time to complete. Smartsvn commit history code#They have to create a branch.Įach developer must create his or her own branch if their code will take more time to program than your normal deployment cycle. If it takes more than 2 days, they are not allowed to directly change the code in the trunk. Any developer making changes to the trunk must be absolutely certain that his or her part can be coded, tested and is ready to deploy within 2 days (can vary depending on your length of deployment cycle). The code in trunk is always maintained as close to release state as possible. Trunk, branch, and tag are the 3 main divisions in subversion repository. With a team of 10 developers it will be a nightmare in the absence of a proper branching strategy. Meanwhile, simple modifications and patches are requested on a day to day basis in the Version 1.0.0.0.Įssentially, with the changing business needs you are required to do a deployment every other day or so i.e. You envision it will take couple of weeks to get that feature coded, tested and released. Couple of days after the release, you get a request for a new feature that must go as Version 1.1.0.0. Let us assume that on a day to day basis you use agile methodologies such as extreme programming or scrum and you have finally released a reasonably complex project with Version 1.0.0.0. You may need to adopt branching in many different scenarios. This blog aims to provide a simple branching and merging strategy to manage the code in a fast paced team development environment. Smartsvn commit history software#Version control systems play a vital role in the success of a software development team.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |