SVN通过备份、过滤、再导入的方式彻底删除废弃目录
文章目录
- 前言
- 简要步骤
- 操作示例
- 总结
前言
SVN占用的空间随着项目版本迭代越来越大,因为保存了历史记录中的各个版本,所以即使本地把废弃的目录删掉提交,也不会释放出多余的空间,大概率因为操作删除增加了一个版本号,使得占用的空间更大了。
怎么才能让它的空间变小的,最简单粗暴的方式就是丢弃历史记录,在最新的版本中剔除的废弃的目录直接上传创建一个新的仓库,这样操作后所有的人需要重新下载才行,如果想保留历史记录,就要用到今天说的这种备份、过滤、再导入的方式了。
简要步骤
假设svn库A在服务器上的路径是:/data/svndata/repos/A,需要删除的文件路径为 /arts/tmp/pictures,注意要过滤的文件夹路径以 / 开头,其实代指起始目录 A。
操作的步骤如下:
//1.备份
svnadmin dump /data/svndata/repos/A > A.dump//2.过滤掉废弃目录
cat A.dump | svndumpfilter exclude /arts/tmp/pictures > B.dump//3.创建新的库
svnadmin create /data/svndata/repos/B//4.导入新库
svnadmin load /data/svndata/repos/B < B.dump//5.重命名老库
mv A A_backup//6.重命名新库代替老库
mv B A
操作示例
操作过程使用的是一个真实的SVN仓库,就是按照上面的步骤试了一次,主要想看下是不是传说中的那么耗时,仓库名为R,数据量115G,共10843个版本。
-
导出备份文件
# svnadmin dump/data/svndata/repos/R > r.dump * Dumped revision 0. * Dumped revision 1. * Dumped revision 2. ...完整导出用了2小时40分钟,导出文件大小为514G,数据量翻了近5倍。
-
过滤掉指定目录
# cat r.dump | svndumpfilter exclude /arts/tmp/pictures > r-exclude.dump Excluding prefixes:'/arts/tmp/pictures'Revision 0 committed as 0. Revision 1 committed as 1. Revision 2 committed as 2. Revision 3 committed as 3. Revision 4 committed as 4. ...将/arts/tmp/pictures目录过滤掉,总共用时58分钟,过滤后的备份文件大小442G
-
创建新的临时仓库
# svnadmin create r-new -
将过滤后的备份文件导入新库
# svnadmin load ./r-new < r-exclude.dump <<< Started new transaction, based on original revision 1* editing path : arts ... done.* editing path : develop ... done.------- Committed revision 1 >>><<< Started new transaction, based on original revision 2* editing path : develop/client ... done.* editing path : develop/server ... done.------- Committed revision 2 >>> ...导入工作从第一个版本依次应用,总共用时4小时。
这个过程真的是很慢,完整用时近8小时,并且对磁盘空间要求很大,另外还有个接近1万个版本号大小为800G的库,在24核机器上仅导出就花了41小时,备份文件大小4.5T,后面我就没试了,磁盘快满了。
总结
- 备份
svnadmin dump /data/svndata/repos/A > A.dump - 过滤
cat A.dump | svndumpfilter exclude /arts/tmp/pictures > B.dump - 建新
svnadmin create /data/svndata/repos/B - 导入
svnadmin load /data/svndata/repos/B < B.dump
朝气蓬勃的孩子真的可爱,可是我还是想长大,这样才有机会掌控节奏,虽然现在看起来像个提线木偶,但正在尝试突破束缚~
相关文章:
SVN通过备份、过滤、再导入的方式彻底删除废弃目录
文章目录 前言简要步骤操作示例总结 前言 SVN占用的空间随着项目版本迭代越来越大,因为保存了历史记录中的各个版本,所以即使本地把废弃的目录删掉提交,也不会释放出多余的空间,大概率因为操作删除增加了一个版本号,使…...
golang支持优雅关闭和core错误记录
#经过测试,不能使用 ENTRYPOINT ["/modapi/modapi", "1>> /dev/null","2>> ./logs/stderr.log"],原因是虽然这种方案可以 #保证modapi命令为1号程序,能够接收到os的signal信号。但是如果程序core了…...
Basics of Container Isolation 容器隔离的实现原理
目录 容器隔离的实现原理 1. 使用cgroups实现资源隔离 自定义一个cgroup 设置进程的内存使用 启动一个docker 容器,观察cgroup的创建情况 2. 使用Namespaces进行资源分区 namespace继承关系引发的问题 3. 结合来使用Namespaces 和chroot 4. 结论 参考文档…...
EBS R12.1 注册客户化应用的步骤
创建客户化应用目录 登录成 applxxx 用户 -- applxxx 改成所需用户名 # 以标准INV模块作为客户化应用目录的模板 cd $APPL_TOP mkdir -p cust cp -r inv cust/template cd cust # 删除template 目录下的文件,只保留目录结构 cd $APPL_TOP/cust for rm_list in …...
算法记录 | Day38 动态规划
对于动态规划问题,将拆解为如下五步曲 确定dp数组(dp table)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组 509.斐波那契数 思路: 确定dp数组(dp table)以及下标的含义&#x…...
PMP项目管理-[第六章]进度管理
进度管理知识体系: 规划进度管理: 定义活动: 排列活动顺序: 估算活动持续时间: 制定进度计划: 6.1 规划进度管理 定义:为规划、编制、管理、执行和控制项目进度而制定政策、程序和文档的过程 作…...
Python变量
一、变量的定义 变量名的命名规范:变量名是标识符的一种,变量名不能随便起,要遵守 Python 标识符命名规范。 ## 常用的命名规范有以下几种: 1. 变量名为单个单词的话全部小写 name "张三" 2. 多个单词组成的话&#…...
准备换工作的看过来~
大家好,最近有不少小伙伴在后台留言,得准备面试了,又不知道从何下手!为了帮大家节约时间,特意准备了一份面试相关的资料,内容非常的全面,真的可以好好补一补,希望大家在都能拿到理想…...
免费AI人工智能在线写作伪原创-百度ai自动写文章
免费伪原创洗稿工具 免费伪原创洗稿工具现在终于推出了!你是否在写作的时候,经常因为缺乏灵感而苦恼?或者,你在撰写文章的时候,发现自己的语言表述不够丰富,缺乏变化,语句重复率太高?…...
互联网摸鱼日报(2023-04-21)
互联网摸鱼日报(2023-04-21) InfoQ 热门话题 3年不用云能节省4亿美元!想知道我们为什么敢不用AWS吗? 华为周红:通过行业大模型促进AI价值创造 建设业务规划、交付和反馈闭环| BizDevOps 公开课 云原生时…...
5.3、web服务器简介HTTP协议
代码地址 5.3、web服务器简介HTTP协议 1.Web-Server(网页服务器)2.HTTP协议(应用层的协议)①简介②概述③工作原理④HTTP请求报文格式⑤HTTP响应报文格式⑥HTTP请求方法⑦HTTP状态码 1.Web-Server(网页服务器) 一个 Web Server …...
【观察】华为:新一代楼宇网络,使能绿建智慧化
“碳达峰”、“碳中和”目标是我国生态文明建设和高质量可持续发展的重要战略安排,将推动全社会加速向绿色低碳转型。作为全球既有建筑和每年新建建筑量最大的国家,大力发展绿色建筑对中国全方位迈向低碳社会、实现高质量发展具有重要意义。 《“十四五”…...
【C# .NET】chapter 13 使用多任务改进性能和可扩展性
目录 一、物理内存和虚拟内存使用(Recorder 类) 二、 对比 string的“”操作与stringbuilder 操作 的处理效率,内存消耗情况, 三、异步运行任务、三种启动任务方法、将上一任务方法处理结果作为参数传给下一任务方法 四、嵌套…...
CA(证书颁发机构)
CA 根证书路径/csk-rootca/csk-ca.pem; ~ 签发数字证书,颁发者信息:(仅包含如下信息) C CN ST China L BeiJing O skills OU Operations Departments CN CSK Global Root CA 1.修改证书的路径以及相关配置 vi /etc/pki/tls/op…...
辛弃疾最有代表性的十首词
辛弃疾的词,风格多样,题材广阔,几乎涉及到生活中的各个方面,从爱国情怀到日常生活,甚至连戒酒这种事都能写入词中。辛弃疾也是两宋词人中,存词最多的作家之一,现存的六百多首作品。 辛弃疾的词…...
MC9S12G128开发板—实现按键发送CAN报文指示小车移动功能
实验环境:MC9S12G128开发板 基本功能:控制开发板上的按键,模拟车辆移动的上下左右四个方位,通过can通信告诉上位机界面,车辆轨迹的移动方位。 1. 1939报文发送的示例代码 MC9S12G128开发板1939协议发送can报文数据的…...
尚融宝22-提交借款申请
目录 一、需求介绍 二、图片上传 (一)前端页面 (二)实现图片上传 三、数据字典展示 (一)后端 (二)前端 四、表单信息提交 (一)后端 1、VO对象&…...
机器学习在生态、环境经济学中的实践技术应用及论文写作
近年来,人工智能领域已经取得突破性进展,对经济社会各个领域都产生了重大影响,结合了统计学、数据科学和计算机科学的机器学习是人工智能的主流方向之一,目前也在飞快的融入计量经济学研究。表面上机器学习通常使用大数据…...
Android硬件通信之 WIFI通信
一,简介 1.1 随着网络的普及和通信技术的发展,网络的传输速度也越来越快,wifi技术也还成为手机设备最基本的配置。我们可以通过wifi实现手机与手机之前的信息传输,当然也可以与任意一台有wifi模块的其它设备传输。 1.2 wifi与蓝…...
面试官:“请描述一下Android系统的启动流程”
作者:OpenGL 前言 什么是Android启动流程呢?其实指的就是我们Android系统从按下电源到显示界面的整个过程。 当我们把手机充好电,按下电源,手机会弹出相应启动界面,在等了一段时间之后,会弹出我们熟悉的主…...
2026年一体化HR系统TOP8盘点:从集团管控到AI落地的选型指南
进入2026年,企业选一体化HR系统不再只看模块是否齐全,更看能否支撑集团管控、复杂用工、数据洞察与AI提效闭环。红海云在国央企与复杂场景的深度适配、以及AI在招聘与员工服务等环节的可落地性上更突出;用友、北森、金蝶在业人融合、PaaS扩展…...
新手福音:通过快马AI生成openclaw安卓自动化入门项目,零基础跑通第一个脚本
新手福音:通过快马AI生成openclaw安卓自动化入门项目,零基础跑通第一个脚本 作为一个刚接触安卓自动化测试的新手,我最近在尝试使用openclaw进行安卓设备操作时遇到了不少困难。从环境配置到脚本编写,每一步都可能踩坑。好在发现…...
利用快马平台快速构建Selenium自动化测试框架原型
今天想和大家分享一个用PythonSelenium快速搭建Web自动化测试框架的经验。最近接手了一个需要频繁回归测试的登录模块,手动测试实在太耗时,于是决定用自动化测试来提高效率。在InsCode(快马)平台上尝试后,发现能快速生成可运行的原型…...
ai赋能openclaw:通过快马平台实现智能路径规划与自适应抓取
最近在做一个智能抓取机器人OpenClaw的项目,正好体验了一把AI辅助开发的便利。这个项目需要实现机械爪在复杂环境中的自主路径规划和自适应抓取,过程中发现InsCode(快马)平台的AI功能确实帮了大忙,分享下具体实现思路和踩坑经验。 场景搭建与…...
为什么在银河麒麟上配置telnet?安全风险与替代方案探讨
银河麒麟系统中Telnet协议的深度安全剖析与现代替代方案 在国产操作系统银河麒麟上配置传统网络服务时,技术决策者常面临一个经典困境:是沿用熟悉的Telnet协议快速解决问题,还是投入资源迁移到更安全的现代方案?这个问题看似简单&…...
3dsconv完全指南:从格式转换到批量处理的开源解决方案
3dsconv完全指南:从格式转换到批量处理的开源解决方案 【免费下载链接】3dsconv Python script to convert Nintendo 3DS CCI (".cci", ".3ds") files to the CIA format 项目地址: https://gitcode.com/gh_mirrors/3d/3dsconv 你是否曾…...
OpenScreen——Screen Studio平替开源屏幕录制神器
你是否也曾为制作一个简单的产品演示视频而焦头烂额?花大价钱买的录屏软件,结果导出的视频角落里永远有个去不掉的水印?今天给大家安利一款刚在 GitHub 爆火的开源神器,彻底解决你的录屏烦恼。一、那些年,我们踩过的录…...
猫抓Cat-Catch:资源嗅探的全链路解决方案(三大技术突破)
猫抓Cat-Catch:资源嗅探的全链路解决方案(三大技术突破) 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 猫抓Ca…...
2026年,哪款AI最适合写小说?创作者的终极工具指南
在2026年的今天,AI写作工具已经深度融入小说创作的全流程。对于网文作者、短剧编剧和漫剧创作者而言,选择一款合适的AI工具,不仅能提升创作效率,更能直接影响作品的商业化潜力。然而,面对市面上琳琅满目的AI工具&#…...
Qwen3.5-9B-AWQ-4bit与Claude对比评测:开源与闭源模型的技术选型
Qwen3.5-9B-AWQ-4bit与Claude对比评测:开源与闭源模型的技术选型 1. 评测背景与目标 在AI大模型领域,开源与闭源模型的选择一直是开发者面临的重要决策。本次评测聚焦于两款在开发者社区中备受关注的模型:开源的Qwen3.5-9B-AWQ-4bit和闭源的…...
