В процессе перехода с SVN на Git мы столкнулись с необходимостью переписывания наших внутренних инструментов, связанных с развёртыванием кода, которые ориентировались на существование линейной истории правок (и разработку в trunk). На Хабре уже публиковались возможные решения этой проблемы через Git-SVN, но мы пошли другим путём. Нам нужна поддержка таких возможностей Git, как branching и merge, поэтому мы решили разобраться в основах, как же работает Git и каким способом должна осуществляться интеграция с ним.
Читать полностью »
Рубрика «Системы управления версиями» - 19
Внутреннее устройство Git: хранение данных и merge
2012-12-25 в 9:35, admin, рубрики: Git, merge, Блог компании Badoo, Системы управления версиями, метки: Git, mergeПроблемы релиз-менеджмента maven проектов при CI подходе к разработке ПО
2012-11-25 в 12:17, admin, рубрики: branching, maven, release, Системы управления версиями, метки: branching, maven, release Прочитав статью
«Простой релиз-менеджмент средствами Git»
захотелось поделиться парой своих мыслей по поводу релиз-менеджмента maven проектов.
В этой заметке я не сколько предложу решение проблем, сколько хочу правильнее их сформулировать.
В кратце: главная проблема релиз-менеджмента maven проектов — это сам maven, который, не был разработан с учетом требований CI (Continuous Integration) подхода к разработке ПО.
Парадигма SNAPSHOT версий устарела с тех пор, как CI стало стандартным подходом к разработке ПО.
Более подробно далее.
Читать полностью »
how to: Как и зачем работать с svn через git
2012-11-20 в 12:21, admin, рубрики: Git, svn, wapstart, Блог компании WapStart, велосипед, Системы управления версиями, метки: Git, svn, wapstart, велосипедДобрый день!
В статье я расскажу, как мы работаем с svn через git и почему не выбрали чистый git.
SVN
Subversion — это централизованная система контроля версий. Это главный ее минус и главный ее плюс :)
Плюс в том, что централизация дает возможность, например, нумеровать коммиты, т.к. их порядок известен.
Так же она минимизирует конфликты (хотя об этом можно и поспорить), т.к. текущее состояние репозитория одно и оно всем известно.
В svn можно хранить несколько проектов в одном репозитории. Вообще интефрейс репозитория в svn очень похож на файловую систему, что обеспечивает минимальный порог вхождения для тех, кто никогда не работал с системами контроля версий.
Главный минус — это merge… Те, кто часто делает мерж средствами svn, понимает о чем я.
Это медленно (даже меееееееедлееенно), требует постоянного соединения с репозиторием, а еще эти svn-properties, которые мешают читать diff.
Читать полностью »
Простой релиз-менеджмент средствами Git
2012-11-18 в 10:51, admin, рубрики: Git, Программирование, Системы управления версиями, управление релизами, метки: Git, Программирование, системы управления версиями, управление релизами
Git – это не только удобная распределенная VCS, но и инструмент подготовки релизов.
В статье будет рассмотрен flow на примере Java-проектов на Maven. Статья может быть полезна для разработчиков малых и средних команд, подразумеваются базовые знания git. Материал частично перекликается с git-flow, но здесь описан более простой вариант.
В классическом случае в репозитории существует одна ветка master, из нее же делаются сборки. Если проект собирается при этом на build-сервере, это может привести к беспорядку – несколько разных билдов под одной версией, не ясен набор коммитов, которые попадают в релиз (например, если сборка делается автоматически по триггеру на VCS).
Инженерный подход к подготовке специалистов по программной инженерии
2012-11-14 в 13:21, admin, рубрики: багтрекинг, онтологическое моделирование, Песочница, Системы управления версиями, управление проектами, Учебный процесс в IT, метки: багтрекинг, онтологическое моделирование, системы управления версиями, управление проектамиСтатья посвящена использованию методологий и инструментов, применяемых в программной инженерии, для организации процессов воспитания и обучения студентов по IT-специальностям. Предложено использовать модель зрелости процессов (CMM) для образования, системы управления версиями, системы отслеживания ошибок, формальные онтологии, проектную методологию и коллективные формы изучения дисциплин.
Один из крупнейших VCS провайдеров Beanstalk лежит на боку
2012-10-17 в 20:59, admin, рубрики: mysql, mysql performance, Системы управления версиями, метки: mysql, mysql performance, системы управления версиями
Так получилось, что сидел работал, там с ветками баловался и т.д. и тут после очередных манипуляций консоль выдаёт мне гневное уведомление, мол не могу я обновиться с источника. Призадумался, попробовал ещё разок — эффект тот же. Полез на сам beanstalk разбираться с ключами но не тут то было!
Читать полностью »
Bitbucket — большое обновление
2012-10-09 в 18:55, admin, рубрики: bitbucket, Git, github, Mercurial, Системы управления версиями, метки: bitbucket, Git, github, mercurial
Bitbucket — это хостинг для Mercurial и Git репозиториев. Ближайший аналог и прямой конкурент — github. По популярности Bitbucket отстаёт, однако у него есть пара заметных фич по сравнению с github — это поддержка Mercurial и возможность создать до 5-ти приватных репозиториев на бесплатном аккаунте (у github вообще нет приватных репозиториев для бесплатных аккаунтов).
Сегодня команда Bitbucket выпустила большое обновление своего сервиса. Полностью обносился дизайн и добавилось много новых функций. Сделаю краткий обзор нововведений на основе записи в официальном блоге команды разработчиков.
Читать полностью »
Разработка в Caché Studio с использованием Subversion
2012-09-07 в 14:33, admin, рубрики: cache, intersystems cache, subversion, svn, Блог компании InterSystems, Системы управления версиями, метки: cache, InterSystems cache, subversion, svn
Было разработано расширение Caché Studio, которое называется Caché-SVN. Это расширение позволяет работать с репозиторием (хранилищем) SVN, не покидая Caché Studio. С его помощью можно выполнять checkout, commit и update.
Caché-SVN работает не с отдельными файлами (классами, программами, csp-страницами и т.д.), а с проектом целиком.
Caché-SVN создаёт временную папку на сервере, где установлено Caché, выгружает туда файлы проекта и выполняет svn commit. Аналогично при svn update полученные xml-описания файлов импортируются в Caché.
Читать полностью »
Введение в Subversion
2012-09-07 в 7:23, admin, рубрики: subversion, svn, Visual Studio, разработка, Системы управления версиями, метки: subversion, svn
Разработкой ПО я интересуюсь не так давно, поэтому многие вещи для меня все еще являются тайной, покрытой мраком.
Я открываю для себя много нового, читая такие сообщества, как Хабр.
И вот один раз я открыл для себя SVN, встретив упоминание о ней в одной из статей. На Хабре часто можно найти простые статьи для начинающих, позволяющие сформировать общую структуру явления в голове и разобраться в основах. С SVN вышло иначе, я не нашел введений в эту систему и в итоге читал информацию на других сайтах.
Руководствуюсь принципом «разобрался сам — помоги другому». Я знаю, что на Хабре немало профессиональных программистов, но так же знаю, что тут есть много студентов, а так же людей из других профессий, далеких от IT, но желающих научиться программировать. Поэтому статья посвещена таким как я — новичкам, и призвана привлечь их к использованию такой удобной вещи, как системы управления версиями (VCS) в общем и SVN в частности. В ней описываются основные функции SVN на примере плагина Visual SVN для Visual Studio (который теперь еще и бесплатный для студентов, фрилансеров и любителей), а так же рассказывается об использовании SVN в командной разработке посредством сети интернет. Visual SVN использует TortoiseSVN — бесплатный клиент для Subversion.
Читать полностью »
Завершён перевод книги «Pro Git»
2012-09-01 в 14:04, admin, рубрики: Git, github, Системы управления версиями, метки: Git, githubЧто может быть лучшим подарком на день знаний для линуксойда? Конечно, полезная книга ;) Поэтому команда переводчиков «Pro Git» поднапряглась и доделала перевод книги на русский язык.
«Pro Git» — это довольно обширная обучающая книга о Git от Скотта Шакона — активного участника разработки проектов Git и GitHub. Автор рассматривает в тексте всевозможные аспекты работы с Git'ом, начиная с установки программы и базовых принципов работы децентрализованных систем контроля версий, и заканчивая рассмотрением внутреннего устройства Git'а и созданием валидных объектов в базе Git'а собственными руками. Не смотря на довольно обширный материал и затрагивание довольно специфических тем, книга написана довольно простым языком, содержит массу примеров и иллюстраций, и поэтому должна быть понятна и новичкам, только начинающим знакомиться с системами контроля версий.
Последняя версия перевода книги доступна в форматах pdf, epub, mobi и fb2.
Также доступна онлайн-версия перевода, но она, к сожалению, не обновлялась с мая.
Читать полностью »