Я хочу настроить SVN-репозиторий на моем компьютере без доступа к сети. Я работаю над кодом без какого-либо соавтора, поэтому я не хочу, чтобы он был общедоступным.
Я читал этот пост , но он предлагает использовать онлайн-сервисы SVN-репозиториев, которые предоставляют бесплатные репозитории. В этом случае мой код будет общедоступным (как это предусмотрено в условиях бесплатных планов).
Поэтому мне было интересно, могу ли я установить локальный сервер на моей машине с Windows XP, к которому у меня есть доступ, даже если у меня нет подключения к интернету?
Ответы:
Самый простой способ настроить локальный сервер - это использовать svnserve :
На самом деле вам не нужен сервер Subversion, если все, что вам нужно сделать, это получить доступ к хранилищу локально, поскольку вы можете получить доступ к хранилищу Subversion через URL-адрес файла, как описано в этом ответе. :
Если вы используете TortoiseSVN , вы можете найти инструкции в разделе Создание репозитория с помощью TortoiseSVN :
Сразу выше на этой странице также описано, как создать репозиторий из командной строки .
Сказав это, я бы порекомендовал вам взглянуть на Mercurial или Git как альтернативу
svn
. Если вы знакомы с TortoiseSvn, то вы найдете TortoiseHg и TortoiseGit простым переходом, плюс он дает вам гибкость для работы распределенным способом позже, если вам это нужно. Например, в прошлом я использовал карты памяти для передачиhg
репозиториев между компьютерами без доступа к сети, и когда вы работаете таким образом, вы получаете бесплатную резервную копию в сделке.источник
Самый простой (и самый быстрый) сервер, который вы можете использовать для работы с локальным репозиторием, встроен в каждый svn-клиент . Это сервер для доступа к любому хранилищу и любому количеству хранилищ , существующих в локальной файловой системе, используя файл протокола: ///. Он не предоставляет никаких методов авторизации или аутентификации, предоставляет только полный неограниченный доступ к контролируемому репозиторию, но, с другой стороны, он позволяет использовать и предоставляет все возможности VCS-системы как таковой.
Чтобы использовать этот сервер, у вас есть в любом пустом каталоге в любом месте вызов CLI-команды svnadmin с соответствующей подкомандой и параметрами (я не могу вспомнить, есть ли административные программы в комплекте CLI-клиента или нет, и не может проверьте это - я не установил CLI svn-client, только TortoiseSVN, в котором есть эти программы в установщике в версии 1.7) - надеюсь, вы сможете найти его.
svnadmin help
покажите нам все доступные подкоманды, теперь мы заинтересованы в подкомандеcreate
.svnadmin help create
предоставить все необходимые нам деталиВ начальной точке первого репо мы можем игнорировать все параметры точной настройки и помнить только основную форму
svnadmin create REPOS_PATH
, там REPOS_PATH - это абсолютный или относительный путь к пустому каталогу, запланированный для репо. Поскольку в большинстве случаев обычные пользователи Windows для кросс-платформенного приложения могут запутаться, какую нотацию (прямую или обратную косую черту) использовать в пути (metoo), самый безопасный способ -cd
это местоположение, из которого наш каталог виден без длинного пути. - родитель будущего репо-каталога или самого каталога. Для запланированного репоz:\Main
доsvnadmin create
и, наконец,
В результате мы получаем пустой репозиторий в каталоге, который отображается в проводнике Windows со специальным значком в качестве контента-индикатора.
Теперь каждый раз, когда нужен этот репозиторий , мы используем обычные SVN-команды, там URL-часть или параметры выглядят как
file:///Z:/Main
(Я добавил стандартное дерево репозитория в репо).
Давайте рассмотрим этот странный URL:
file:///
, как и для любого URL, означает протокол доступа, в нашем случае протокол является специальным и имеет три, а не две косые черты.Z:/Main
полный путь к репо с диском и путь внутри диска, там все обратные косые черты Windows заменены на «классические» прямые косые чертыС любого другого момента этот репозиторий не имеет никаких отличий от «Больших братьев» со специальными Subversion-серверами.
источник
Давайте попробуем ответ, который рекомендует общие решения, а не особенности.
Во-первых, да, вы можете использовать Subversion на автономном компьютере - вы можете установить сервер локально или работать с файлом: //
Но если нет очень веской причины, по которой вам нужно использовать subversion, я бы сказал, что это не лучшее решение проблемы локального контроля версий - не в последнюю очередь потому, что это не помогает одной из вещей, которые я считаю существенными, т.е. Исходный код находится как минимум в двух местах (да, даже для личных вещей). Поэтому я бы предложил использовать распределенную систему контроля версий (DVCS).
Одним из преимуществ DVCS является то, что после установки инструментов репозитории автономно размещаются в папке, и вы можете синхронизировать содержимое между разными папками, содержащими «одно и то же» хранилище, при условии, что у вас есть доступ на уровне файлов. У вас также есть возможность поговорить с «серверными» версиями этих репозиториев (которые либо размещены в частном порядке, либо доступны в качестве службы). Это делает жизнь намного проще, управляя всем локально.
У DVCS есть и другие преимущества.
Как я уже отмечал, я не думаю, что у вас действительно есть правильное решение VCS, пока ваш код находится как минимум на двух компьютерах (в частности, на двух разных жестких дисках и, в идеале, в нескольких местах), хотя клонировать и нажимать, например, на USB-накопитель или «облачное» хранилище (skydrive, dropbox и др.) - это еще один способ, который также должен работать).
Что касается DVCS - я бы посмотрел на Mercurial (Hg) и Git, а также на Veracity . Я использую Mercurial, потому что его все еще лучше на окнах ...
Если вы согласны с условиями размещенных сервисов, я на самом деле согласен с тем, что Github заслуживает похвалы, но есть много хороших вещей в отношении bitbucket и Fogbugz / Kiln ... и то же самое, вероятно, относится ко многим другим сервисам. который я не перечислил (например, http://beanstalkapp.com/, о котором упоминалось при передаче мне в твиттере ранее сегодня)
источник
Subversion не требует сервера. Он использует централизованное хранилище, но к этому хранилищу можно получить доступ через метод доступа к файлу, что означает, что вам просто необходим доступ к файловой системе, в которой хранится хранилище. Самый простой способ настроить это - создать папку где-нибудь на жестком диске, указать на нее TortoiseSVN (или аналогичный инструмент) и «создать репозиторий здесь». Оттуда вы можете делать все, что вам нужно, чтобы получить свой код в хранилище.
Тем не менее, в долгосрочной перспективе вам, вероятно, будет лучше использовать распределенную SCM, лучшими кандидатами будут git (более мощный, крутой курс обучения, лучше всего работает на * nix) и mercurial (чуть менее мощный, простой в освоении, работающий одинаково хорошо на windows и * nix). С их помощью ваша рабочая копия содержит весь репозиторий, и вы можете сделать столько клонов (удаленных или локальных), сколько пожелаете. Вы можете начать локально, и если вы решите разместить репозиторий извне, вы просто клонируете существующий локальный репозиторий во внешнее местоположение, и вы можете синхронизировать в обоих направлениях в любое время. Еще лучше, поскольку каждый из ваших клонов содержит всю историю проекта, SCM выполняет функцию резервной системы. С Subversion, если ваш сервер умирает, а вы не создали его резервную копию, ваша история исчезает - с помощью git,
http://hginit.com/ имеет отличный учебник по началу работы с Mercurial.
источник
Есть немало хостинговых компаний SVN которые предлагают бесплатную учетную запись для одного или двух разработчиков и не требуют, чтобы ваш код был общедоступным. Проверьте связанный график для платы за 0 $, Требуемый OSS = НЕТ. Я насчитываю девять поставщиков, которые соответствуют этим критериям прямо сейчас.
Хотя вы, безусловно, можете очень легко разместить свой собственный репозиторий, есть несколько преимуществ, которые дает использование провайдера:
Вы можете получить доступ к своему коду из любого места без дополнительных настроек.
Хранение кода вне сайта защищает вас от сбоев жесткого диска, пожаров и т. Д.
Низкие административные расходы.
источник