I'm trying to work out a good method to manage code changes on a large project with multiple teams. We use subversion at the moment, but I want more flexibility in building a new release than I seem to be able to get with subversion.
Here's roughly I want:
- for each developer to create easily identifiable patches for the project. Each patch delivers a complete user story (a releasable feature or fix). It might encompass many changes to many files.
- developers are able to easily apply and remove their own and other patches to facilitate testing
- release manager selects the patches to be used in the next release into a new branch
- branch is tested, fixes merged in, and ultimately merged into live
- teams can then pull these changes back down into their sandboxes.
I'm looking at stacked git as a way of achieving this, but what other tools or techniques can deliver this sort of workflow?