Search code examples
version-controlmercurialdvcs

DVCS with Central Build/ automatic push to server feature?


I am looking for alternatives to NWDI (Stands for Netweaver Development Infrastructure by SAP) source control system for developing Java EE Applications. Primarily because:

  1. NWDI is not DVCS : So developers have to be online to do just about anything.
  2. User Interface: Its very difficult to use and train developers on using this system.
  3. Tracking Changes/Generating Reports: Very limited support for this. For example I cant find out what projects (Files within the project) have been changed in the last 2 weeks.
  4. Code Review: You can do code reviews, it has a good diff utility. But thats about it, there is no way to attach code reviews to a change request.
  5. Branching and Merging are extremely painful.

However the current system has a few handy features:

  1. Automatic Builds: No need to write any build scripts , everything is built in. So when a new repository (we call it track) is created it automatically configures the build based on the type of components (Supported by the repository) selected on creation. A Central Build is triggered whenever a developer commits (Activates the changes). Irrespective of the status of the build the changes are now inflicted on the entire team.

  2. Automatic push to Central Test Server: While creating a repository you can define all the servers (Central test, QA, Prod). A developer can push his changes by a click of a button to Central Test Server. Again everything is built in and there is no need to extend any hooks like you have to do in Mercurial.

I was exploring Mercurial, Kiln and but couldn't find anything helpful. For mercurial Hooks can be used to do the same but I guess some customization effort is required.

Are there any cool DVCS like Mercurial which does the above 2 as well or is it something that I have to customize to make it work?


Solution

  • Looks like there nothing useful out of the box. I am going to try out Kiln as it appears to be easy to use and try customizing it.