开发者

Creating a 'stable' release from a SVN repo

I got several developers who are working开发者_如何学Go on a project and committing into /trunk

In an ideal world, their code would be bug free and they would of completed all parts of a problem before committing, but as we know that is not always the case.

Often I will go through and only update the files which I know are good, then test and release a public build but it's getting harder and harder - with SVN when you update a file it's ALL or nothing, unless you want to start adding in the edits by hand to files - annoying.

So I need a way, of taking the code, and getting a more fine grained approach to pulling in their changes - (almost like the UI of git add --patch), I can then go through each change set (down to the line) and add things which work then release build. (tagging this would be ideal).

Anyone have any suggestions?


This is what branches are for.

If trunk is what should be the stable branch, then you could have each developer work in their own branch. You then merge specific changes from those branches into trunk. When you're ready to do a release you can create a tagged branch from trunk.

Alternatively you could use trunk as the unstable dev branch that everyone commits into, and merge specific updates from that into a stable release branch.


  1. Use short iterations.
  2. insist that a set of unit tests pass on every check-in
  3. insist that a set of smoke tests pass on the trunk every night
  4. show the door to people who won't cooperate
  5. if you can't get people to split projects into small, testable, non-regressive changes, banish them to branches and keep them off the trunk.
  6. use jenkins or hudson or whatever to help enforce

In short, you can't fix your process with source control. If you want to try, svn is not your friend for the process you are approximately describing.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜