alt*_*ern 36 svn version-control repository
有没有办法从svn存储库中删除文件,包括其所有历史记录?当我想摆脱驻留在repo中的大型二进制文件时,会出现这个问题.
我知道在这种情况下只有一种方法可能会有所帮助:
svnadmin实用程序的帮助下转储所有回购.grep.Grep应该使用filename并写入另一个dump-filesvnadmin但这太复杂,不可靠.也许有另一种解决方案?
Joh*_*ell 33
这个命令最近变得更加直接svndumpfilter.详细信息可在此处的subversion文档中找到.基本上,为了避免冲突(这里解释),它需要一个repo转储并重做每次提交,包括或排除给定的文件前缀.基本语法:
svndumpfilter exclude yourfileprefix < yourdump > yournewdump
Run Code Online (Sandbox Code Playgroud)
排除可能是问题提供者正在寻找的内容,但您也可以使用include来提取repo的子树,以便将其作为自己的存储库进行分解.
颠覆(非常元)中最新的subversion版本也可以采用glob模式.我最近不得不从repo中删除所有pdf,它很容易就像这样:
svndumpfilter exclude --pattern '*.pdf' < dump > dump_nopdfs
Run Code Online (Sandbox Code Playgroud)
可以通过调用svndumpfilter help和找到更多使用信息svndumpfilter help exclude.
但这太复杂,不可靠.
我不知道为什么这不应该被认为是可靠的.但是,如果你想彻底摆脱文件,历史和所有,无论这个文件是以前版本的影响是什么,只有一种方法这样做,这种方式确实很复杂.这是正确的.SVN是一个只有一个目标的工具:永远不会丢失任何文件,即使它已被删除.强迫它做其他事情应该很难.
| 归档时间: |
|
| 查看次数: |
38476 次 |
| 最近记录: |