Как настроить и получить доступ к своему репозиторию подрывной деятельности после установки Subversion на моем выделенном сервере Godaddy Centos

StackOverflow https://stackoverflow.com/questions/8814659

Вопрос

Я успешно установил подрывную деятельность на своем сервере. Когда я запускаю команду:

which svn

Я получаю ответ:

/usr/bin/svn

Я создаю репозиторий внутри моего корневого каталога, который является моей папкой httpdocs со следующей командой:

svnadmin create ~/svn

Я успешно создал следующие файлы и папки и настроил их, и я вижу следующие файлы и каталоги в каталоге SVN:

conf  db  format  hooks  locks  README.txt

Но я не могу создать каталоги ствола, ветви и тегов. На самом деле я не могу создать период каталогов. Вот команда, которую я использовал:

svn mkdir file:///httpdocs/svn/site

Когда я сделаю эту команду, сообщение, которое я получаю, является следующим:

svn: Could not use external editor to fetch log message; consider setting the
$SVN_EDITOR environment variable or using the --message (-m) or --file (-F) options
svn: None of the environment variables SVN_EDITOR, VISUAL or EDITOR are set, and no
'editor-cmd' run-time configuration option was found

Также, когда я набираю URL:

http://mydomain.com/svn

Я получаю сообщение Follwoing:

404 - Not Found 

Что мне нужно сделать, чтобы настроить мой репозиторий, проверить, действительно ли работает мой репозиторий. О, и я выполнил следующую команду:

svnserve -d
Это было полезно?

Решение

Я создаю хранилище в моем корневом каталоге, которая является моей папкой HttpDocs со следующей командой ...

Это не то, как вы получаете подрывную деятельность, чтобы работать с Apache httpd, если это то, что вы пытаетесь сделать. Вам нужны модули mod_dav и mod_dav_svn для Apache. Возможно, вам придется перекомпилировать Apache, чтобы получить их.

После установки MOD_DAV и MOD_DAV_SVN вам необходимо настроить свой файл httpd.conf (или поместить файл конфигурации под вашим HTTPD conf.d в зависимости от того, как это настроено на вашей системе), чтобы она работала.

В конце концов, это не так сложно. В большинстве установок Apache добавлены MOD_DAV и MOD_DAV_SVN, и вы можете увидеть, правильно ли настроен ваш файл http.conf. Руководство по подрывной деятельности все что тебе нужно чтобы заставить это работать.

SVN: не удалось использовать внешний редактор для извлечения сообщения журнала; Рассмотрите возможность установить переменную среды $ svn_editor или использование параметров-message (-m) или--file (-f) svn: ни одна из переменных среды svn_editor, визуальное или редактор не установлено, и нет «редактор-cmd». Был найден опция конфигурации времени

Прочитайте сообщение. Это говорит Не мог использовать внешний редактор Потому что вы не указали его. Снова подрывная речь в руководстве по линии объясняет это в деталь.

По сути, когда вы совершаете изменение подрывной деятельности, вам необходимо создать сообщение о коммите. Это можно сделать двумя способами:

  • Вы используете -m вариант как svn commit -m "This is my commit message".
  • Вы устанавливаете переменные SVN_EDITOR, VISUAL, или же EDITOR На имя программы, которую вы хотите использовать. Например, в Windows вы бы сказали C:> set EDITOR=notepad.exe. Анкет На Unix вы бы сказали что -то вроде $ export EDITOR=vi. Анкет Подрыв сначала проверяет значение SVN_EDITOR переменная, тогда VISUAL, тогда EDITOR. Анкет Если ни один из них не установлен, это дает вам ошибку, которую вы видели.

Почему ты взял это на svn mkdir командование?

Поскольку вы используете форму URL команды, она сделает каталог, а затем совершит изменение, таким образом, необходимость в сообщении коммита. Это должно работать:

svn mkdir -m"Adding the site directory to my repository" file:///httpdocs/svn/site

Теперь вам нужно вывести свой репозиторий из своего каталога HTTPDOCS. Это очень плохо, потому что это наносит ущерб вашему веб -серверу.

Если вы не хотите использовать file:// Протокол, вы можете использовать svnserve. Анкет Это встроенный сервер репозитория подрывной деятельности и использует svn:// протокол. Наблюдать:

$ svnadmin create my_repos   #Creates the repository
$ vi my_repos/conf/svnserve.conf  #See footnote 1 below
$ vi my_repos/conf/passwd         #See footnote 1 below
$ svnserve -r my_repos -d
$ svn mkdir -m "Making basic directory layout svn://localhost/trunk \
> svn://localhost/tags svn://localhost/branches
$ export SVN_EDITOR="vi"

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

  • Вы не можете запустить несколько экземпляров svnserve так как он хочет использовать порт 3690, и он не любит делиться. С Apache HTTPD вы можете иметь несколько репозиториев.
  • Установка безопасности с Svnserve ограничена. С Apache я могу использовать Windows Active Directory или LDAP, или я могу настроить его вручную.
  • Некоторые браузеры по репозиториям подрывной деятельности в Интернете не любят Svnserve.

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


1 При настройке хранилища с помощью svnserve, вам нужно отредактировать svnserve.conf файл, включив строку password-db = passed Что касается строки № 20 в файле. Тогда вы должны отредактировать passed Файл (расположенный в том же каталоге) для настройки пользователей и их паролей. Оба очень просты, но легко забыть, и если вы этого не сделаете, вы не можете ничего совершить в своем хранилище.

Другие советы

Когда вам нужно сгибать ветви и теги, чем вам нужно загрузить import_dirs.copy

чем после, чем cd /location/import_dirs.copy чем запустить, чем команда

cd /data/svn/import_dirs.copy/ 
svn import  file:///location of repos/reposname/  -m "inital message"

Это пример этого .....

cd /home/raj/import_dirs.copy/
svn import  file:///srv/svn/nmg/  -m "inital message"

чем были сделаны стволы и теги

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top