有没有办法将subversion工作副本从1.7版降级到1.6x版?
1.7版本使用单个.svn根文件夹和sqlite作为元数据,因此tigris.org的转换python脚本不起作用。
您是否知道一个解决方案不涉及在v1.6下进行干净的结账并复制已修改的文件?
答案 0 :(得分:18)
有script个工作副本降级。
但是,这不支持从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.
答案 1 :(得分:14)
我找到了从1.7工作副本中删除.svn文件夹的最佳方法,然后检查它上面的1.6。它对我有用,它也可能适合你。 (使用tortoiseSvn 1.6.x客户端)
答案 2 :(得分:5)
我的脏解决方案是使用v1.6创建一个干净的结帐,然后使用一个小的bash脚本将.svn
文件夹复制到现有的工作副本:
#!/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
目录。
PS。我暂时不会将此标记为答案,因为上面的解决方案是一种解决方法,实际上并没有将项目从1.7转换为1.6。所以问题仍然存在。
答案 3 :(得分:2)
(假设服务器上的文件正确) 到目前为止我找到的最佳方式:
答案 4 :(得分:0)
此方法使用synaptic包管理器,因此请确保已安装。
将以下行附加到/etc/apt/sources.list
:
deb http://us.archive.ubuntu.com/ubuntu precise main
这将确保您至少有两个版本可供选择,即1.7和1.6。
运行
sudo apt-get update
转到包管理器,搜索subversion
并选择它。
从菜单选择包 - > force-version 选择 1.6 或右键单击 - > 属性 - >版本选择 1.6 。
安装包
再次选择包,然后 menu - > 锁定版本。
这是为了防止自动更新更高版本。
就是这样。祝你好运。