Как обновить созданный TortoiseSVN 1.4.3 репозиторий до 1.6.x? - PullRequest
2 голосов
/ 30 апреля 2010

Несколько лет назад TortoiseSVN 1.4.3 был развернут в нашей команде разработчиков программного обеспечения, и сейчас мы смотрим на обновление клиента до последней версии 1.6.x. Я надеялся, что это обновление будет прозрачным с дополнительными функциями и модификациями на стороне клиента. По большей части это было верно за исключением для очень важной функции - слияния. Когда я пытаюсь слить ветку объекта обратно в грузовик, я получаю показ-остановку «Ошибка отслеживания слияния не поддерживается».

Вот некоторые факты, на которые стоит обратить внимание:

  1. Когда хранилище было впервые создано (до того, как я был на борту), оно было создано с помощью самого клиента TortoiseSVN . У нас нет «демона SVN-сервера» как такового, скорее папки / базы данных репозитория находятся в общей папке, доступной с наших рабочих станций через файл: ///. Это было на самом деле сенсационное сообщение для меня; Я всегда думал, что есть какой-то демон сервера SVN, с которым мы разговаривали.

  2. У нас нет доступа к базовому компьютеру, на котором размещен общий ресурс SVN, кроме возможности чтения / записи на самом общем ресурсе. Я даже не знаю, на какой ОС работает машина. Этот общий сервер выбран из-за того, что наша ИТ-группа каждую ночь выполняет резервное копирование.

  3. Честно говоря, нам не нужно функция отслеживания слияния, хотя было бы неплохо иметь ее. На данный момент было бы достаточно иметь возможность использовать клиент TortoiseSVN 1.6.x в репозитории 1.4.3 и слить его (без отслеживания) без ошибок.

Как обновить клиентское хранилище 1.4.3 до версии, совместимой с 1.6.x, без доступа к базовому компьютеру, на котором находится хранилище?

Я надеялся, что сам клиент TortoiseSVN мог это сделать, но, похоже, это не так.

Буду ли я вынужден скопировать весь репозиторий на свой локальный диск, выполнить несколько команд SVN, чтобы обновить репозиторий локально, а затем скопировать репозиторий обратно в точку общего доступа? Если это так, нарушит ли это совместимость с клиентами 1.4.3, если мы не сможем обновить их все одновременно?

Примечание
Вопрос был полностью перефразирован в свете некоторых из приведенных ответов.

Ответы [ 2 ]

4 голосов
/ 30 апреля 2010

Вам нужно будет сделать svnadmin -upgrade для преобразования формата репозитория.Просто сначала сделайте резервную копию репозитория ... на всякий случай.

По большей части клиенты 1.4.x должны иметь возможность общаться с сервером 1.6.x.Конечно, сервер 1.6.x имеет функции, которые не поддерживаются клиентами 1.4.x, поэтому эти функции будут недоступны.

Редактировать:

Это не имеет значениячто вы создали хранилище через TortoiseSVN.Все происходит так же.Вам нужно будет загрузить инструменты командной строки Subversion, чтобы иметь возможность использовать svnadmin.Я бы определенно скопировал хранилище на локальный диск, чтобы вы могли поэкспериментировать с обновлением.Без обновления этого хранилища вы будете лишены новых функций.Я думаю, что вы будете в порядке обновления хранилища, не затрагивая существующие клиенты 1.4.x, но никогда не помешает проверить это, прежде чем заменять рабочую копию хранилища на сервере.

3 голосов
/ 30 апреля 2010

На основании матрицы совместимости похоже, что совместимость не должна быть проблемой. Тем не менее, как вы уже испытали, вероятно, будут возникать определенные недостающие функции.

Обновления см .:

Возможно, пришло время пересмотреть ситуацию с SVN. Я не могу представить, что у меня нет доступа к машине. Я бы потребовал / попросил, чтобы ИТ-специалисты выполнили обновление после создания резервной копии (также сделайте свое собственное резервное копирование SVN) или предоставили вам доступ к машине.

Что касается использования файла // Доступ к SVN: Yikes. Я хотел бы изменить это сразу же, так что он доступен через HTTPS . Я не могу представить, что смогу получить к нему доступ только в вашей локальной сети - хотя я полагаю, что VPN будет работать в этом случае.

...