tags:

views:

56

answers:

1

Our company use SVN for VCS, and we want this to be done:

pre-commit works, so we can saparete a big task into small tasks before commit.

we need review the code before commit.

One can make a version, and others can check it out. (without modify the publish repo.)

We can easily fork to another SVN server(for project management) and push changes back.

I know mercurial,git,bazzar can do the work, but how SVN can?

ps: don't tell me change SVN to mercurial, I'm not CTO.

+1  A: 

Some of the problems can be solved by giving the developers their own branches. They can develop there their own code and if it is mature and stable enough, it could be merged with the "main" branch".

You can also use SVN simultaneously with Git/Mercurial/Bazaar - some projects actually do so. The decentralized VCS-es are used by developers in everyday's work and the reviewed and approved changes are moved to SVN.

Zyx
Agreed, give the developers their own sandbox and you can use permissions to manage the merge back into trunk. If the developers are not familiar with merge it can take a while to get them used to it but they will like it (my experience anyway).For some areas of our repos we use properties to flag items that require an additional level of review and only certain users may set the "pass" flags. These properties are controlled through manual steps and automated processes linked into our backend harvest and builds.
Ryan VanIderstine