我将第三方项目提交到我自己的svn存储库中.现在,我得到了该项目的新版本,我想在我的存储库中替换它.
该项目非常大(1.2GB),新版本有新文件/目录,也删除了文件/目录.
琐碎的解决方案是
svn rm project
mv /path/to/new/project .
svn add project
svn ci
Run Code Online (Sandbox Code Playgroud)
但是,我放弃了历史.此外,svn服务器将无法使用增量压缩(是的,服务器空间确实很重要).
另一种方法是只覆盖工作目录中的所有文件,然后提交它.但是,已删除的文件仍保留在存储库中.svn add --force *也"忘了"添加一些文件.
提交新版本的其他可能性有哪些?这是一个不寻常的用例,所以没有内置支持吗?(使用Tortoise SVN我会弄乱.svn文件夹,Tortoise提供删除提交对话框中丢失的文件/文件夹,但命令行版本如果遇到未删除的文件/文件夹则拒绝提交svn rm)
额外1:如何避免我的存储库中的更改被覆盖?(只有少数,所以目前可以重新申请)
额外2:我用目的地的副本替换了所有符号链接(以消除special status changed错误).怎么避免这个?
额外3:如何应对重命名的文件/目录?由于我刚刚获得没有更改历史记录的新版本,因此无法自动确定这些版本.svn mv在提交之前?
| 归档时间: |
|
| 查看次数: |
1533 次 |
| 最近记录: |