我有一个很大的、旧的 svn 存储库工作副本,是我很久以前签出的。我想导出并保存它,同时保留目录结构。
随着时间的推移,我删除了各级大部分不需要的子目录和文件。我想使用 导出其余内容svn export
。
但是,由于如下错误,导出未完成:
svn: Can't stat 'WSN/Somedir': No such file or directory
svn update
由于以下原因我想避免:
- 存储库已旧,不再提供
- 即使它可以在线,缺少的目录也有几 GB,我宁愿不花时间和空间下载。
我知道的一个解决方案是复制整个树并运行递归删除命令,删除所有“.svn”目录。
但是,有没有更干净的方法来要求svn
导出而忽略丢失的文件和目录?
答案1
如果您运行svn status
,您将获得缺失资产的列表。它们以!
字符标记;例如:
$ svn status
? default.cfg
! models
在此示例中,models
文件夹已被删除,因此标记为!
。
要解决此问题,您需要使用 删除这些丢失的文件夹svn rm
;示例中为:
$ svn rm models
D models
D models/model1.png
D models/model2.png
然后提交,之后导出就可以正常工作。
答案2
或者您可以只恢复该子目录。通过将目录更改为要恢复的文件夹来执行此操作,这样您就不会恢复错误的内容。然后输入:
svn 恢复 -R。
现在您可以根据需要更新和导出。