Reputation: 8801
I've been reading several questions here on StackOverflow but am not really satisfied. The situation that I am in is the following:
Large web app project (complex parts, a few unknowns):
trunk is the main stable release
branches has bug releases e.g. bug-503, bug-524, some of these bugs are complex touching several files, others not so much, some get fixed and then revisited several times.
tags I am primarily using tags for the different releases, we have three environments: production, sandbox and dev ... the tag release helps keep a revision number consistent across the envs so that at any given time we can compare what release number the environment is using
So right not i do much of my work in branches, and merge back into trunk and produce a tag release. the dev environment usually has a build that has all the latest bug fixes/additions. There typically is a review of dev env and certain features/bugs are deemed stable, at which point i merge those specific feature into trunk. Others are reviewed and may need some more work, in which case I go into the specific branch and make adjustments.
The pain that I am feeling is that I have dev and trunk and I have to merge feature/bug branches into each. Just seems so complex and cumbersome. Am I doing it right, is there a better way/practice, easier practice? Or am I doing it totally wrong, in which case I need a better way!
Upvotes: 2
Views: 338
Reputation: 11101
I prefer this scenario:
So, an example lifecycle:
Development
Feature complete:
Release:
Bugfix:
Upvotes: 1
Reputation: 12205
To be honest your practice seems fine to me, having said that if a bug is not going to take to much time / code then I would suggest just checking out the dev and making the fix there and then just checking the fix right into the repository dev.
Also is there a reason you need an always stable trunk? How often are the developers breaking the dev that you need to make sure you always have a stable trunk? You should remove the dev part of the equation and just check everything into the trunk and then make sure the trunk gets fixed asap if broken. This will make the development process much easier. Just a thought to make your life easier.
Upvotes: 0