Как понизить дерево подрывной деятельности с версии с 1.7 по v1.6?
Есть ли способ понизить рабочую копию subversion с версии 1.7 до версии 1.6x?
В версии 1.7 используется одна корневая папка .svn и sqlite для метаданных, поэтому преобразование python script из tigris.org не работает.
Знаете ли вы о решении, которое не включает в себя чистую проверку в v1.6 и копирование по модифицированным файлам?
Ответы
Ответ 1
Существует script, чтобы сделать рабочие копии ниже.
Однако это не поддерживает переход от формата 1.7 к формату 1.6, и он никогда не поддержит это в будущем. Комментарии в script говорят нам, почему это невозможно:
# 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.
Ответ 2
Я нашел лучший способ удалить папку .svn из рабочей копии 1.7, а затем проверить 1.6 поверх нее. Это сработало для меня, это может сработать и для вас. (с использованием клиента tortoiseSvn 1.6.x)
Ответ 3
Моим грязным решением было создать чистую проверку с помощью v1.6, а затем скопировать только папки .svn
в существующую рабочую копию с помощью небольшого bash script:
#!/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
Это предполагает, что script запускается из чистого контрольного каталога. Target
- это модифицированная рабочая копия. Директору верхнего уровня v1.7 .svn
следует удалить/переименовать перед запуском script.
пс. На данный момент я не буду отмечать это как ответ, потому что решение выше является обходным решением и фактически не конвертирует проект с 1,7 до 1,6. Поэтому вопрос остается открытым.
Ответ 4
(если файлы на сервере верны)
Лучший способ, который я нашел до сих пор:
- закрыть вашу IDE
- удалить локальные файлы
- удалить svn 1.7
- установить svn 1.6
- файлы проверки
Ответ 5
В этом подходе используется диспетчер синаптических пакетов, поэтому убедитесь, что он установлен.
-
Добавьте следующую строку в /etc/apt/sources.list
:
deb http://us.archive.ubuntu.com/ubuntu precise main
Это гарантирует, что у вас есть как минимум две версии для выбора, а именно 1.7 и 1.6.
-
Run
sudo apt-get update
-
Перейдите в диспетчер пакетов, найдите subversion
и выберите его.
-
В меню выберите пакет → force-version выберите 1.6 или щелкните правой кнопкой мыши → свойства → версия выберите 1.6.
-
Установите пакет
-
Выберите пакет еще раз, затем меню → заблокировать версию.
Это делается для предотвращения автоматического обновления более высоких версий.
Это он. Удачи.