Назад | Перейти на главную страницу

Как обновить репозиторий, созданный TortoiseSVN 1.4.3, до версии 1.6.x?

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

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

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

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

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

Итак, теперь возникает вопрос: как обновить репозиторий 1.4.3, созданный клиентом, до версии, совместимой с 1.6.x, без доступа к базовой машине, на которой находится репо? Я надеялся, что сам клиент TortoiseSVN может это сделать, но, похоже, это не так.

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

Спасибо за помощь.

Чтобы получить отслеживание слияния, вам нужно запустить svnadmin upgrade в репо. Я не думаю, что вы можете сделать это удаленно, поэтому вам нужно либо скопировать репо и обновить его, либо попросить того, кто владеет сервером, обновить его. Честно говоря, вам также следует обновить сервер, чтобы вы запускали клиент 1.6 против сервера 1.6 с репозиторием 1.6.

1.7 скоро выйдет, и в нем есть много новых функций, которые вам, вероятно, понадобятся, поэтому делать это правильно и создавать процедуру, чтобы сделать это снова, стоит.