SVN(subversion)早期版本的删除
导语:PHP是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。下面我们来看看SVN(subversion)早期版本的删除去具体怎么操作,希望对大家有所帮助。
具体作业过程如下:
准备工作
停止apache服务器,修改版本库目录路权限为root的方式,阻止所有的用户使用该版本库。重启apache,这样可保证其他版本库的用户继续使用。
备份原有版本库。
版本库全备份可以采用svnadmin dump和svnadmin hotcopy两种方法。在整个过程中两种方法都会用到。首先作为版本库全备份,以防将来出现作业错误时可以立刻恢复原有版本库的操作,建议使用svnadmin hotcopy。一方面这样的备份速度比较快,另一方面备份的结果就是一个可以立刻使用的版本库,在需要恢复的时候直接拷贝回去就行了。具体命令如下:
svnadmin hotcopy --clean-logs /path/to/repo ./hotcopy > 2>hotcopy_ &
备份的结果就是一个目录,尺寸基本和原版本库相同,47G。
dump版本库需要保留的版本。
通过svnlook youngest /path/to/repo命令可以看到版本库最后的版本是多少。我要作业的版本库是14079。经过跟对方公司协商,决定保留10000到14079之间的版本。因此需要从版本库把10000以后的版本dump出来。具体命令如下
svnadmin dump /path/to/repo -r 10000:14079 > repo_dump_ 2>repo_dump_ &
dump出来的文件大约34G。
查看一下日志文件,确定所需要的版本都被正确的dump下来了。
重建版本库
rm -rf /path/to/repo
svnadmin create /path/to/repo
注意这里面没有使用 --fs-type bdb参数,因此创建出来的.版本库是FSFS后端的。后面还会继续解释为什么这么做。
重新导入新版本
svnadmin load /path/to/repo < repo_dump_ > repo_ 2>repo_load_ &
检查一下日志文件,看看load是否成功。用svnlook命令看看load以后版本库的最新版本。
修改版本库权限
chown -R apache:apache /path/to/repo
到此为止版本库的历史版本删除工作就结束了。需要注意的是,新建出来的版本库的最新版本应该是4080。另外,经过观察,新创建出来的版本尺寸只有2.7G。这个结果曾经一度让我怀疑load没有成功。但是事实上确实如此。需要说明的是,原来那个占了47G的版本库就是BDB格式的。我又试着创建了一个BDB后端的版本库,用同样的方式把dump文件导进去,结果版本库的尺寸接近30G。而且导入的速度来看也明显比向FSFS后端版本库导入要慢很多。大概多了一个多小时的时间。可见BDB后端和FSFS后端版本库在某种情况下的尺寸差距惊人的大。手册是虽然也说了FSFS会比BDB小一些,但是绝对没想到会小那么多。subversion现在主推FSFS格式是有道理的。但是我总觉得毕竟BDB历史更悠久一些,也更稳定一些。所以在今后硬盘空间不紧张的前提下,我还是倾向于使用BDB后端格式。
-
PHP工程师应该掌握的知识结构
作为一名合格的PHP工程师的知识结构是怎样的?下面是本站小编精心为大家整理的PHP工程师应该掌握的知识结构,希望对大家有帮助,更多内容请关注应届毕业生网!一x方面Linux常用命令1.文件处理命令2.权限管理命令3.帮助命令4.文件搜索命令5.压缩解压命令6.命令使用技...
-
PHP将XML转为数组的方法
本文详细介绍了,在php编程中,将XML数据转换为数组的详细过程,剖析了xml转为php数组的具体方法,感兴趣的朋友可以参考学习下。PHPXML转数组首先,得到一个xml型的对象:复制代码代码示例:$resp=$this->c->execute($req,$sessionKey);//获得xml对象$items=$resp->items;...
-
php防盗链实例
防盗链是目前非常常见的web程序设计技巧。下面是小编分享的php防盗链实例,一起来看一下吧。这里新建一个文件。后面的参数就是需要伪造referfer的目标地址吧。如:://复制代码代码如下:<?$url=str_replace('/','',$_SERVER["REQUEST_URI"]);//得...
-
如何把PHP二进制与字符串之间的相互转换
PHP是一种HTML内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的`风格有类似于C语言,被广泛地运用。以下是小编为大家搜索整理的如何把PHP二进制与字符串之间的相互转换,希望能给大家带来帮助,更多精彩内容请及时关注我们应届毕业生考试网![代码]p...
相关文章
- DOS的Interlnk、Intersvr、Qbasic命令使用说明
- Scientists Build Robots to Live With Humans英语美文
- 英语Lesson8家庭作业:Dannys favourite colour
- 英语阅读:Life is inevitable consequence of physics
- 公共英语二级写作Preserving Natural Resources
- Time To Stop Worrying About Invasive Species美文欣赏
- MS SQL Server Management Studio Express安装图文具体步骤
- Chinas Liu to seek injury advice in US soon英语作文
- 初一英语Unit 12 My favorite subject is science 课后练习题答
- Linux Mint Cinnamon下使用vino-server配置桌面共享的方法