Настройка онлайн репозитория

From Valve Developer Community
Jump to: navigation, search
English

Данная статья рассказывает процесс создания онлайн SVN репозитория, и обсуждение некоторых вариантов. Подробности об общем управлении SVN описаны здесь - Использование SVN для контроля исходников Source SDK.

Зачем мне нужен репозиторий?

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

С чего начать

Для начала, вам понадобится SVN клиент. Настоятельно рекомендуется TortoiseSVN (http://tortoisesvn.tigris.org). Установите его.

Дальше, вам нужен кто-то, кто будет держать у себя репозиторий. Здесь вы имеете три варианта: бесплатный репозиторий для открытых модификаций и бесплатный или платный репозиторий для закрытых модификаций.

Варианты хостинга

Бесплатный, открытые исходники

Логично - попробовать Google code или SourceForge. Любой может скачивать (но не заливать) вашу модификацию. Возможно, это является спорным методом, так как код Valve становится публично доступным, а это является нарушением соглашения, ибо он должен быть доступен только владельцам Source SDK. Код бесполезен без доступа к Source SDK, но с юридической точки зрения, это не имеет значения. Есть несколько модов с открытым исходным кодом, и никто до сих пор не жаловался, но я не уверен насчет легальности этого метода. Спросите Valve!

Бесплатный, закрытые исходники

Этот вариант самый ограниченный. Видимо только Multiplay.co.uk будет обеспечивать бесплатный хостинг для всех многопользовательских модов, да и то, только при условии, что вы ежеквартально предоставляете им информацию о ходе работ.

Unfuddle (http://unfuddle.com/) предлагает бесплатный SVN хостинг, вместе с системой слежения и т.п. Однако, каждый имеет доступ к дереву ваших исходников (source tree).

Платный, закрытые исходники

Мой собственный опыт - божественная схема ($ 5 в месяц, не более 5 пользователей) Проекта Locker (http://www.projectlocker.com), имеющий стабильные и хорошие условия.

Настройка

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

Выберите папку с вашей рабочей копией, и убедитесь, что исходный код находится в ней. Если свободного места много, вы можете так же поместить туда директорию мода. Распределите вашу рабочую директорию на две папки, src (содержит исходный код), и GameDir (содержит копию вашей папки с модом).

После установки Tortoise SVN, нажмите правой кнопкой по этой папке, и выберите SVN Извлечь. Введите адрес вашего репозитория, и нажмите ok, когда вы будите предупреждены, что эти файлы уже присутствуют. Когда вы закончите, вы захотите зафиксировать вашу первую версию в репозитории. Это рекомендуется делать перед каждым изменением исходного кода, просто на всякий случай.

Ваша первая фиксация

Снова нажмите правой кнопкой мыши по папке, и выберите SVN Фиксировать. Каждый файл в каталоге будет перечислен в этом всплывающем окне. Сперва, проверьте все (вы можете нажать home, shift + end, а затем пробел, чтобы все было проверено)... есть некоторые файлы, которые вы не захотите помещать в репозиторий, поэтому убедитесь, что вы установили их в игнорирование на промежуточные директории, как для клиента, так и для сервера (например, Debug_HL2MP, Release_HL2MP) - эти файлы являются большими и они будут просто занимать все свободное место и пропускную способность канала. Вы также должны убедиться, что исключены любые .pdb и .ncb файлы (это пользовательские настройки и intellisense базы для Visual Studio, носящие такие же названия, как и файлы проекта, но с различными расширениями.

Теперь вы готовы, нажмите на Фиксировать и попробуйте обновиться. Поздравляю! Теперь вы можете изменять вашу модификацию сколько угодно, так как у вас есть надежная резервная копия.

Примечание:Когда кто-нибудь из вашей команды вносит изменения, фиксирование будет отменено до вашего первого SVN обновления. Постоянное обновление (сохранение изменений), перед Фиксацией (отклонение изменений) - очень хорошая привычка.