Ответы пользователя по тегу Системы контроля версий
  • Как совместить-объединить TortoiseSVN и веб-интерфейс VisualSVN Server?

    bahrep
    @bahrep
    1. Открываем свой репозиторий с помощью TortoiseSVN Repo Browser и находим trunk нужного нам проекта.
    2. Щёлкаем правой кнопкой мыши по trunk/ и выбираем Show Properties.
    3. В открывшемся диалоговом окне жмём New | Other.
    4. В Property name вводим webviewer:revision.
    5. В Property value вводим /!/#ИМЯ-РЕПОЗИТОРИЯ/commit/r%REVISION%/r%REVISION%. Это путь относительно server root. Можно так же прописать абсолютный путь.
    6. Жмём ОК.
    7. Повторяем шаги 3, 4, 5, 6, но уже для свойства webviewer athrevision для которого указываем значение /!/#ИМЯ-РЕПОЗИТОРИЯ/view/r%REVISION%%PATH%

    После выставления этих свойств можно выполнить svn checkout рабочей копии trunk и в TortoiseSVN станут доступны команды View revision in webviewer, View revision for path in webviewer. Команды будут доступны только при вызове диалогов TortoiseSVN для рабочей копии. Для любой новой ветки от trunk нужные свойства будут автоматически копироваться при её создании.

    Кстати, есть же книга TortoiseSVN Beginner's Guide. AFAIK, в ней так же приводится раздел про установку и начальную настройку VisualSVN Server.

    Вопрос 0. В каких взаимоотношениях состоят Subversion (также известная как «SVN») и связка TortoiseSVN+VisualSVN Server?


    * VisualSVN Server -- SVN сервер для Windows.
    * TortoiseSVN -- (лучший) SVN клиент для Windows.

    TortoiseSVN используется для работы с репозиториями которые хостятся на VisualSVN Server (ну или другом SVN сервере).

    Вопрос 1. Объясните, пожалуйста, наиболее подробно (пошагово) или дайте ссылку на ресурс/видео/книги на решение следующей проблемы: Как корректно установить на рабочий ПК VisualSVN Server и TortoiseSVN и создать репозиторий "Rep1" в VisualSVN Server?


    А что именно непоятно-то? Интересно где именно сложности.

    TortoiseSVN
    Скачиваем инсталлятор и устанавливаем его: https://tortoisesvn.net/downloads.html

    VisualSVN Server
    1. Скачиваем инсталлятор сервера https://www.visualsvn.com/server/download/, запускаем, щёлкаем до самого конца и ждём секунд 30 пока установка завершится.
    2. Запускаем VisualSVN Server Manager.
    3. В запустившейся консоли правой кнопкой мыши щёлкаем Repositories и выбираем Create New Repository. Следуем шагам открывшегося визарда и новый репозиторий будет создан моментально.

    Если нет Active Directory домена и предполагается использовать Subversion authentication&authorization, то необходимо также будет создать новый user account который будет использоваться для доступа к репозиторям. Смотрите Users слева. Про типы аутентификации доступные в VisualSVN Server можно прочитать в статье KB39: Understanding VisualSVN Server Authenticatio....

    Вопрос 2. Как я понимаю VisualSVN Server должен на рабочем ПК эмулировать некий реальный сервер, возможно ли это, или надо реально поднимать сервер на моем ПК?


    Эмулировать? Никаких "эмуляций"! :) VisualSVN Server -- полноценный Subversion сервер для Windows. VisualSVN Server работает сразу out of the box и его действительно очень просто установить и настроить.

    VisualSVN Server можно установить как на клиентскую, так и на серверную Windows и так же side-by-side с другими серверными приложениями. Для production использования в огранизации конечно же стоит использовать Windows Server. В тоже время никаких ограничений на установку на ноут или другую клиентскую рабочую станцию нет.

    Если хотите, чтобы ваши коллеги и товарищи обращались к вашему компу для доступа к репозиторям -- без проблем. Только, возможно, вариант установки VisualSVN Server на отдельную постоянно включённую тачку или на виртуалку в Azure / Amazon.

    Вопрос 3. Объясните, пожалуйста, как для корня репозитория "Rep1" настроить свойства webviewer:revision и webviewer:pathrevision, таким образом, чтобы значения этих свойств были типа таких webviewer:revision https://***.example.com/..../r%REVISION%
    и webviewer:pathrevision https://***.example.com/.../r%REVISION%%PATH% (те вели на некий удаленный ресурс, поэтому этот вопрос перекликается с вопросом 2)?


    Читаем TortoiseSVN Manual | Integration with Web-based Re...

    Для того чтобы TortoiseSVN отобразил нужные команды в контекстных меню, TortoiseSVN должен увидеть и распознать свойства webviewer:pathrevision webviewer:revision в рабочей копии. Т.е. нужно добавить эти свойства и указать в них шаблон ссылки до веб интерфейса. Затем делаем `svn checkout` рабочей копии.

    Вопрос 4. Настройка значений необходимых свойств из вопроса 3 (и других) производится с помощью
    TortoiseSVN или команды “svn propset”? Как именно?


    Можно использовать как command-line client, т.е. запускать команду `svn propset`, а можно и TortoiseSVN. С TortoiseSVN, наверное, новичку будет проще -- в TortoiseSVN есть специальный редактор для свойств.

    Вопрос 5. Как сделать так, чтобы при работе с рабочей копией в TortoiseSVN, можно было
    любую версию из TortoiseSVN Log Messages просмотреть в веб-интерфейсе VisualSVN Server, те чтобы
    в Log Messages в TortoiseSVN появлялась команда “View revision in webviewer” и при выполнении этой команды открывается браузер с текущей версией?


    Смотрим тут: https://tortoisesvn.net/docs/release/TortoiseSVN_e...

    Важно не забывать, что команда View revision in webviewer и View revision for path in webviewer будут доступны в контекстных меню только когда работа с SVN происходит через локальную рабочую копию! См. врезку Limitations Using the Repository Browser по ссылке выше.

    Вопрос 6. Как я понимаю, для выполнения вопроса 5 необходимы следующие действия:
    копирование URL "Rep1" из VisualSVN Server Manager, настройка значений свойств (как в вопросе 4), я прав?


    Нужно ещё убедиться, что сервер доступен по тому URL.

    Вопрос 7. Как я могу убедится что все сделано правильно (настройки подобраны верно)?


    Нужно, сделать checkout рабочей копии, проверить, что нужные свойства есть на месте. Запустить 'Show log' TortoiseSVN и вызвать контекстное меню для ревизии в логе. Нужные команды должны быть в доступны в контекстном меню, а их вызов должен открывать web browser с нужной ревизией или путём в репозитории.
    Ответ написан
    6 комментариев