Доброго времени суток.
Часто на ЛОРе, да и не только, возникают споры какая же vcs лучше. Я пользуюсь плотно только svn и ClearCase и с другими знаком крайне поверхностно, поэтому могу ошибаться, так что прошу поправить меня если где не прав.
Так вот, у каждой vcs есть свои удобства и свои недостатки, но любая vcs подразумевает определенный набор функций. Но в одних какие-то функции реализованы лучше, в других какие-то вообще не реализованы, зато есть полезные фичи каких нет в других.
Так вот вопрос, а почему бы не сделать программу которая была бы прослойкой между vcs и пользователем. Т.е. для пользователя был бы всегда один и тот же интерфейс работы с системой контроля версий, но при этом программа работала бы с разными vcs. Тогда можно реализовать интересную вещь: ставим на машину несколько vcs и предложенную программу-прослойку, и она работая со всеми системами одновременно, сама выбирает какую систему использовать для какой функции(ну к примеру для работы с бранчами удобнее использовать git(к примеру, как на самом деле я ХЗ), а вот при простой операции checkout она файлы берет из svn). При этом конечно же программа должна заботиться о синхронизации репозиториев разных vcs.
Профит от такой системы, как минимум, абсолютная безболезненность при переходе с одной системы на другую, а как максимум, использование плюсов всех систем и отбрасывание их минусов.