понедельник, 17 декабря 2007 г.

Контроль версий с svk...

Не знаю, кто как, но я без контроля версий вообще не могу.

Можно много спорить о том, какие из систем контроля версий лучше.
Но я последнее время пользуюсь SVK. Эта замечательная распределенная система контроля умеет зеркалировать cvs, subversion, perforce... Но даже если сервер зеркалируемой системы контроля недоступен, это не мешает вносить изменения в локальный репозиторий.

Я бы предпочел monotone, но никто из хостеров проектов его пока не поддерживает (хотя может быть уже поддерживает? когда я последний раз этим интересовался?).

Но речь не о том... Недавно, с тех пор, как занялся с упоминаемым ранее армом) у меня возникла необходимость ковыряться в ядре, или того хуже - в uClinux... И вот тут то SVK меня подвел... чтобы загрузить в него проект такого размера (add, commit) нужно несколько часов (если не дней)... Хотя с незначительными изменениями в больших проектах он справляется без особых тормозов.

Его конечно трудно за это винить, он написан на perl... К тому же массовый влив исходников - не самое типичное занятие для системы контроля версий. Но, тем не менее, это вынудимо меня использовать более шуструю систему контроля.

PS: К тому же всеравно, по работе может потребоваться сервер с системой контроля, чего svk не умеет в принципе - он по большей части frontend...

2 коммент.:

dwarwood комментирует...

Его конечно трудно за это винить, он написан на perl... К тому же массовый влив исходников - не самое типичное занятие для системы контроля версий. Но, тем не менее, это вынудимо меня использовать более шуструю систему контроля.

- и какую именно, если не секрет?

>массовый влив исходников - не самое типичное

- если не рассматривать операцию перехода с одной системы на другую :-)

Андрей Валяев комментирует...

dwarwood:
- и какую именно, если не секрет?

У меня не стоит задача использовать для разработки корпоративную систему контроля версий (а то бы пришлось юзать perforce :)), поэтому в данном случае я взял Subversion.

Он весьма шустро справляется с вливанием больших изменений, в отличии от svk или monotone...

Кстати надо сказать про monotone - он конечно распределенный и все дела, раньше мне нравился, но испытание объемом он не выдерживает. На большом проекте он один статус показывает по полчаса :(

PS: большой проект - это несколько сотен мег...

Мне конечно недосуг заниматься тестированием производительности систем контроля версий... просто такое вот небольшое ИМХО. :)

- если не рассматривать операцию перехода с одной системы на другую :-)

Ну в этом случае обычно достаточно влить текущее состояние проекта, а историю похерить...