dxp 34 10 июня, 2014 Опубликовано 10 июня, 2014 · Жалоба Скажу, что лучший svn это git. svn плох хотя бы тем, что на каждый чих нужен доступ к серверу. Децентрализованные системы позволяют работать автономно, по мере необходимости, синхронизируя репозитории: есть доступ в сеть -- хорошо, нет доступа -- ничего страшного, подождём, когда будет. Ну и самая мякотка git -- это git rebase --interactive. То есть делаем в процессе работы много мелких коммитов, потом причёсываем историю: какие-то коммиты сливаем, какие-то разбиваем, какие-то выкидываем, какие-то переставляем местами. После этого из истории видна логика разработки, а не хаотичное метание мысли: тут поправили, закоммитили, там поправили, закоммитили, потом выяснилось, что поправили не полностью, закоммитили исправление. После всех исправлений получаем красивую историю и делаем push из локального репо в главный. Подтверждаю. Но с оговоркой: это для текстовых файлов и разработки софта. Хранить файлы электрических схем и печатных плат, особенно, когда они в двоичном формате, в гите - не лучшая идея. Все его мегафичи по ветвлению, слиянию, в общем, при разработке схемы не нужны. Нет там всех этих туч ветвлений, слияний, история разработки сама по себе получается простой и практически линейной. Инертная это штука - железо. Итерации медленнее делаются, изменения вносятся очень ограниченно - по сравнению с разработкой софта, конечно. Поэтому для хранения истории разработки на уровне файлов схем и печатных плат svn очень даже хорош. Он работает с дельтами, что позволяет делать более компактные ревизии. И более простая идеология этой технологии значительно снижает порог вхождения. Центральный репозиторий тоже не проблема. Во-первых, хранить дорогостоящие плоды многодневного (-месячного, -годового) труда на какие-то левых, фиг знает кем контролируемых ресурсах - это само по себе очень, мягко говоря, спорное решение. Если речь идёт о каких-то личных проектах, то ради бога, а вот корпоративную информацию туда совать не след. Правильное решение в последнем случае - завести у себя на рабочем хосте реп (если работает локально сам по себе) или выделить отдельный хост специально для этого (мы так и сделали). Таким образом, устраняется и проблема со связью. Во-вторых, при разработке схемы и платы не возникает необходимости на каждую фичу создавать ветку. Сам процесс этой разработки вполне монолитный и законченный. Поэтому коммитить нужно уже тогда, когда работа по сути закончена. Нет смысла коммитить какие-то полуфабрикаты. В общем, svn - вполне хорошая система для своей модели. Для разработки софта, безусловно, git на две головы выше, и в программинге надо использовать именно его (mercurial/bazaar/etc). А вот для хранения данных, которые не слишком часто меняются, svn подходит очень хорошо. Где-то (то ли на хабре) человек рассказывал, что он свою фонотеку (.mp3 и подобные файлы) хранит под svn. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
neiver 0 10 июня, 2014 Опубликовано 10 июня, 2014 · Жалоба Кстати на счет симтем контроля версий и разработки схем и печатных плат. Altium поддерживает интеграцию с SVN. И даже дифы схем и плат умеет показывать. По "altium svn" гуглится много интересного. Git напрямую не поддерживается, но можно прикрутить через git-svn. Однако, я демонстрировал работу Альтиума с СВН-ом ребятам схематехникам, конструкторам ПП. Показывал им ветки, дифы, хранение истории и разных ревизий, как можно сделать централизированную библиотеку шаренных компонентов. Сказали, что очень круто, но работают всё равно по старинке, каждый пилит свою плату на своеё машине, изредка копируя ревизии в шаренную папку на сервере. Они считают им так удобнее. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться