Visual Studio → Опыт использования TFS 2010: (Система контроля.Права и Политики)

В прошлый раз, я писал о создании веток, Опыт использования TFS 2010: (Система контроля.Ветки.Создание) и одном из вариантов их иерархии. В этой части я попытаюсь раскрыть работу с системой контроля и более подробно и остановлюсь на средствах контроля доступа к коду в ветках и политики CheckIn.
Разработка → Поиск хостинга для закрытого кода из песочницы
Сегодня я коротко расскажу об эпопеи по поиску хостинга системы управления версиями для своих фриланс-проектов.
Недавно, обнаружив себя в роли программиста-фрилансера, встала задача — где хранить код? Вариант с домашним хостингом системы контроля версий я отмел сразу, так как при больших затратах времени на установку и администрирование все равно надежность оставляет желать лучшего. Можно, конечно, организовать и бек-ап на удаленный сайт, но тогда администрирование усложняется еще на порядок. Поэтому я стал искать «облачной» хостинг, который бы позволил разместить пару небольших проектов с зарытым кодом. Имея приличный опыт размещения проектов с открытыми кодом, я первым делом проверил Google Code. Удобный и минималистический хостинг, тем не менее, как выяснилось, не позволяет сделать проект «закрытым». Тогда поиск пришлось расширить. Вооружившись небольшим списком требований, я перерыл кучу платных, бесплатных и условно бесплатных хостингов.
Требования были такими:
Задача
Недавно, обнаружив себя в роли программиста-фрилансера, встала задача — где хранить код? Вариант с домашним хостингом системы контроля версий я отмел сразу, так как при больших затратах времени на установку и администрирование все равно надежность оставляет желать лучшего. Можно, конечно, организовать и бек-ап на удаленный сайт, но тогда администрирование усложняется еще на порядок. Поэтому я стал искать «облачной» хостинг, который бы позволил разместить пару небольших проектов с зарытым кодом. Имея приличный опыт размещения проектов с открытыми кодом, я первым делом проверил Google Code. Удобный и минималистический хостинг, тем не менее, как выяснилось, не позволяет сделать проект «закрытым». Тогда поиск пришлось расширить. Вооружившись небольшим списком требований, я перерыл кучу платных, бесплатных и условно бесплатных хостингов.
Требования были такими:
- Система контроля версий: Subversion или Mercurial
- Возможность держать проекты «закрытыми»
- Возможность хранить несколько проектов
- Бесплатный хостинг, во всяком случае на начальном этапе
- Встроенный багтрекер
- Желательно: встроенный вики
Git → Внешние зависимости в гите: submodule или subtree?
Давным-давно я усвоил, что зависимости должны храниться вместе с кодом проекта. Тогда, при возврате к старой версии кода, гораздо проще восстанавливать окружение.
У моего проекта несколько зависимостей. Бóльшая часть зависимостей живет в гитовых репозиториях. Сам проект тоже живёт в гите.
Одна из используемых нами библиотек часто обновляется. Мы сидим на девелоперской версии, и нередко сами контрибутим в неё код, который требуется нашему проекту. То есть требуется оперативно пропускать наши правки через основной репозиторий этой библиотеки — создавать и поддерживать свой форк по ряду причин совершенно не хочется.
Раньше я просто копировал зависимости в папку проекта, и добавлял к каждой файл VERSION.TXT с её версией. Но, если нужно работать с текущей версией стороннего кода, это неудобно. Да и копировать файлы руками когда есть гит как-то глупо. Хочется найти более современное решение.
У моего проекта несколько зависимостей. Бóльшая часть зависимостей живет в гитовых репозиториях. Сам проект тоже живёт в гите.
Одна из используемых нами библиотек часто обновляется. Мы сидим на девелоперской версии, и нередко сами контрибутим в неё код, который требуется нашему проекту. То есть требуется оперативно пропускать наши правки через основной репозиторий этой библиотеки — создавать и поддерживать свой форк по ряду причин совершенно не хочется.
Раньше я просто копировал зависимости в папку проекта, и добавлял к каждой файл VERSION.TXT с её версией. Но, если нужно работать с текущей версией стороннего кода, это неудобно. Да и копировать файлы руками когда есть гит как-то глупо. Хочется найти более современное решение.
Разработка → Установка и настройка SVN (сервер+клиент)
Ничего нового для людей, хорошо знающих и работающих с SVN, здесь не будет. Цель статьи — помочь некоторому проценту новичков, пребывающих на Хабре, таки осилить изучение этой системы контроля версий.