Перейти к содержанию
    

Скажу, что лучший svn это git. svn плох хотя бы тем, что на каждый чих нужен доступ к серверу. Децентрализованные системы позволяют работать автономно, по мере необходимости, синхронизируя репозитории: есть доступ в сеть -- хорошо, нет доступа -- ничего страшного, подождём, когда будет.

 

Ну и самая мякотка git -- это git rebase --interactive. То есть делаем в процессе работы много мелких коммитов, потом причёсываем историю: какие-то коммиты сливаем, какие-то разбиваем, какие-то выкидываем, какие-то переставляем местами. После этого из истории видна логика разработки, а не хаотичное метание мысли: тут поправили, закоммитили, там поправили, закоммитили, потом выяснилось, что поправили не полностью, закоммитили исправление. После всех исправлений получаем красивую историю и делаем push из локального репо в главный.

Подтверждаю. Но с оговоркой: это для текстовых файлов и разработки софта. Хранить файлы электрических схем и печатных плат, особенно, когда они в двоичном формате, в гите - не лучшая идея. Все его мегафичи по ветвлению, слиянию, в общем, при разработке схемы не нужны. Нет там всех этих туч ветвлений, слияний, история разработки сама по себе получается простой и практически линейной. Инертная это штука - железо. Итерации медленнее делаются, изменения вносятся очень ограниченно - по сравнению с разработкой софта, конечно.

 

Поэтому для хранения истории разработки на уровне файлов схем и печатных плат svn очень даже хорош. Он работает с дельтами, что позволяет делать более компактные ревизии. И более простая идеология этой технологии значительно снижает порог вхождения. Центральный репозиторий тоже не проблема.

 

Во-первых, хранить дорогостоящие плоды многодневного (-месячного, -годового) труда на какие-то левых, фиг знает кем контролируемых ресурсах - это само по себе очень, мягко говоря, спорное решение. Если речь идёт о каких-то личных проектах, то ради бога, а вот корпоративную информацию туда совать не след. Правильное решение в последнем случае - завести у себя на рабочем хосте реп (если работает локально сам по себе) или выделить отдельный хост специально для этого (мы так и сделали). Таким образом, устраняется и проблема со связью.

 

Во-вторых, при разработке схемы и платы не возникает необходимости на каждую фичу создавать ветку. Сам процесс этой разработки вполне монолитный и законченный. Поэтому коммитить нужно уже тогда, когда работа по сути закончена. Нет смысла коммитить какие-то полуфабрикаты.

 

В общем, svn - вполне хорошая система для своей модели. Для разработки софта, безусловно, git на две головы выше, и в программинге надо использовать именно его (mercurial/bazaar/etc). А вот для хранения данных, которые не слишком часто меняются, svn подходит очень хорошо. Где-то (то ли на хабре) человек рассказывал, что он свою фонотеку (.mp3 и подобные файлы) хранит под svn. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кстати на счет симтем контроля версий и разработки схем и печатных плат. Altium поддерживает интеграцию с SVN. И даже дифы схем и плат умеет показывать. По "altium svn" гуглится много интересного. Git напрямую не поддерживается, но можно прикрутить через git-svn.

Однако, я демонстрировал работу Альтиума с СВН-ом ребятам схематехникам, конструкторам ПП. Показывал им ветки, дифы, хранение истории и разных ревизий, как можно сделать централизированную библиотеку шаренных компонентов. Сказали, что очень круто, но работают всё равно по старинке, каждый пилит свою плату на своеё машине, изредка копируя ревизии в шаренную папку на сервере. Они считают им так удобнее.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...