Как понизить дерево подрывной деятельности с v1.7 до v1.6? - PullRequest
24 голосов
/ 01 февраля 2011

Есть ли способ понизить рабочую копию Subversion с версии 1.7 до версии 1.6x?

Версия 1.7 использует одну корневую папку .svn и sqlite для метаданных, поэтому скрипт python для преобразования с tigris.org не работает.

Известно ли вам решение, которое не включает в себя чистую проверку в версии 1.6 и копирование измененных файлов?

Ответы [ 5 ]

18 голосов
/ 01 февраля 2011

Существует сценарий для выполнения понижения рабочей копии.

Однако, это не поддерживает понижение с формата 1.7 до формата 1.6, и это никогда не будет поддерживать это в будущем. Комментарии в сценарии говорят нам, почему это невозможно:

  # Downgrading from format 11 (1.7-dev) to format 10 is not possible,
  # because 11 does not use has-props and cachable-props (but 10 does).
  # Naively downgrading in that situation causes properties to disappear
  # from the wc.
14 голосов
/ 06 декабря 2011

Я нашел лучший способ удалить папку .svn из рабочей копии 1.7, а затем извлечь 1.6 поверх нее.Это сработало для меня, это может сработать и для вас.(с использованием клиента tortoiseSvn 1.6.x)

5 голосов
/ 01 февраля 2011

Моим грязным решением было создать чистую кассу, используя v1.6, а затем скопировать только папки .svn в существующую рабочую копию, используя небольшой скрипт bash:

  #!/usr/bin/env bash
  target=/projects/working-copy-dir

  svn_dirs=`find . -type d -iname .svn`

  for svn_dir in $svn_dirs; do
      tosvn_dir=$target${svn_dir/\.\//}  # strip the extra './' path component
      cp -r $svn_dir $tosvn_dir
  done

Предполагается, что скрипт запускается из каталога чистой проверки. Target является модифицированной рабочей копией. Перед запуском скрипта необходимо удалить / переименовать каталог верхнего уровня v1.7 .svn dir.

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

2 голосов
/ 22 февраля 2012

(при условии, что файлы на сервере верны) Лучший способ, который я нашел до сих пор:

  1. закройте IDE
  2. удалить локальные файлы
  3. удалить SVN 1.7
  4. установить SVN 1.6
  5. извлечение файлов
0 голосов
/ 20 июня 2013

В этом подходе используется менеджер пакетов synaptic, поэтому убедитесь, что он установлен.

  1. Добавить следующую строку к /etc/apt/sources.list:

    deb http://us.archive.ubuntu.com/ubuntu precise main
    

    Это обеспечит выбор как минимум двух версий, т. Е. 1,7 и 1,6.

  2. Run

    sudo apt-get update
    
  3. Перейдите в менеджер пакетов, найдите subversion и выберите его.

  4. Из меню выберите пакет -> force-version выберите 1.6 или щелкните правой кнопкой мыши -> свойства -> выбор версии 1.6 .

  5. Установить пакет

  6. Снова выберите пакет, затем меню -> версия блокировки .

    Это предотвращает автоматическое обновление до более поздних версий.

Вот и все. Удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...