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

相关推荐
wenzhangli710 分钟前
oodAgent 4.0 Skills分布式调度 — 从Code Agent实战看自主维护的Agent网络
运维·网络·人工智能·自动化
做个文艺程序员24 分钟前
Linux第12篇:性能监控与瓶颈分析——CPU/内存/IO/网络全维度
linux·运维·网络
K姐研究社43 分钟前
OiiOii 2.0 实测 – 智能画布实现 AI 视频创作自动化
运维·人工智能·自动化
HAPPY酷1 小时前
【ROS2】 Conda 环境搭建(命令行版)
linux·运维·python·ubuntu·机器人·conda
wang_shu_mo_ran2 小时前
网络编程(一):网络编程初识
运维·服务器·网络
hai3152475432 小时前
九章空间几何对照直译法:通用芯片 / 定制专用芯片 编译适配规则
linux·汇编·bash
姚青&3 小时前
持续交付与 DevOps 体系
运维·devops
ton_tom3 小时前
设备驱动程序编程-Linux2.6.10-kdb安装-32位
linux·运维·服务器
Elastic 中国社区官方博客3 小时前
谁来评判评判者?在 Elasticsearch Workflows 中使用 LLM-as-a-Judge
大数据·运维·人工智能·elasticsearch·搜索引擎·ai·全文检索
dddwjzx3 小时前
嵌入式Linux C应用编程入门——进程 ( 二 )
linux·嵌入式