Прежде всего, я бы вычеркнул Subversion, если у вашего приложения нет рабочего процесса, который особенно хорошо работает с централизованным VCS.И даже тогда я бы попытался использовать Mercurial или git, так как svn очень медленный.
Что касается Mercurial (hg) против Git, я лично выбрал бы git.С одной стороны, hg является более простым и интуитивно понятным, но git работает на намного быстрее и имеет гораздо больший запас ума, чем hg.
Хотя скриптируемость может быть проблемой.Git действительно создан для написания сценариев из оболочки Unix (хотя он будет работать в Windows с установленным программным обеспечением GNU).У Hg есть интерфейс Python, но, если я правильно помню, есть некоторые расширения C, которые, вероятно, сделают невозможным использование с Jython.Тем не менее, похоже, что является сторонней библиотекой git для Java: http://eclipse.org/jgit/
Что касается лицензирования, то hg и git оба под лицензией GPL, но если вы раскроете имне должно быть проблемой.SVN использует лицензию Apache, поэтому она может выиграть на этом фронте (в основном вы можете делать с ней все, что захотите).