SVN 仓库目录迁移,仓库 “降级” 成子目录实战

背景:

已存在 svn /aa/bb/cc 仓库,但公司研发现在需求是把 /aa/bb 变为仓库,cc 则为 /aa/bb 仓库内的一个目录,且需要保留内容log

操作步骤

1. 导出原仓库数据

bash 复制代码
# 导出 cc 仓库全部历史
svnadmin dump /svndir/aa/bb/cc > cc_repository.dump
# 移动原仓库
mv /svndir/aa/bb/cc /tmp/cc

2. 创建仓库并导入数据

bash 复制代码
# 创建新仓库 bb
svnadmin create /svndir/aa/bb

# 关键:手动创建父目录,否则导入会报错 E160013
svn mkdir file:///svndir/aa/bb -m "为导入 cc 数据预建目录"

# 将数据导入 bb 仓库的 cc 目录下(--parent-dir)
# 否则会导入到 / 目录
svnadmin load /svndir/aa/bb --parent-dir cc < cc_repository.dump

3. 导入权限

bash 复制代码
cp -r /tmp/cc/conf/* /svndir/aa/bb/conf/

检查对应目录权限,然后下载检查 log 等即可。

其他

  1. 同时创建多目录:

    svn mkdir file:///svndir/aa/bb/cc1 file:///svndir/aa/bb/cc2 -m "预建目录"

  2. 实现父目录可读,子目录禁用:

    vim authz

    如下:

    [/xx]
    user = rw # 允许访问父目录
    [/xx/aa]
    user = # 留空表示禁止访问子目录 aa(会覆盖父目录权限)

  3. 下载仓库后 log 查看异常

能成功下载仓库,但是查看 log 要不停输入密码,解决方法(清缓存):
右键 -> TortoiseSVN -> Settings -> Saved Data -> Authentication data -> 点击 Clear

相关推荐
阿拉斯攀登2 小时前
第 13 篇 输入设备驱动(触摸屏 / 按键)开发详解,Linux input 子系统全解析
android·linux·运维·驱动开发·rk3568·瑞芯微·rk安卓驱动
ego.iblacat2 小时前
Nginx 性能优化与深度监控
运维·nginx·性能优化
bukeyiwanshui2 小时前
【无标题】
linux·运维·服务器
疯狂吧小飞牛2 小时前
Linux 多网卡同网段配置冲突问题
linux·运维·服务器
-ONLY-¥3 小时前
Nginx性能优化与监控全攻略
linux
物联网全栈工程猪3 小时前
CAN 总线传输策略设计:基于 CAN ID 优先级竞争与本节点低优先级事件让步
运维·服务器·网络
J超会运3 小时前
OpenEuler系统Nginx性能优化全攻略
运维·nginx·性能优化
wang2455981993 小时前
Redis基础——1、Linux下安装Redis(超详细)
linux·数据库·redis
Solar20253 小时前
企业数据API对接选型指南:技术架构、评估标准与行业实践
大数据·运维·人工智能·架构·云计算