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

相关推荐
lwx9148521 天前
Linux-特殊权限SUID,SGID,SBIT
linux·运维·服务器
皮卡狮1 天前
Linux权限的概念
linux
炘爚1 天前
深入解析printf缓冲区与fork进程复制机制
linux·运维·算法
workflower1 天前
注塑机行业目前自动化现状分析
运维·人工智能·语言模型·自动化·集成测试·软件工程·软件需求
小义_1 天前
随笔 3(Linux)
linux·运维·服务器·云原生·红帽
#六脉神剑1 天前
MySQL参数调优:十个关键参数助力数据库性能数倍提升
运维·mysql
cccccc语言我来了1 天前
Linux(10)进程概念
linux·运维·服务器
伐尘1 天前
【linux】查看空间(内存、磁盘、文件目录、分区)的几个命令
linux·运维·网络
Deitymoon1 天前
linux——PV操作
linux
倔强的胖蚂蚁1 天前
x2openEuler 辅助机完整部署教程
运维·云原生