繁体   English   中英

SVN在提交前撤消删除

[英]SVN undo delete before commit

如果从SVN工作副本中删除目录但尚未提交,则不清楚如何将其恢复。 当您输入“svn undo d”时,Google甚至建议“在提交前将svn undo delete”作为常见查询,但搜索结果无益。

编辑:我想要一个适用于subversion 1.4.4的解决方案

1)做

svn revert . --recursive

2)解析输出错误之类的

"Failed to revert 'dir1/dir2' -- try updating instead."

3)为每个错误目录调用svn:

svn up dir1/dir2

svn revert deletedDirectory

这是 svn revert命令的文档


编辑

如果使用rmdir而不是svn rm删除了deletedDirectory则需要执行此操作

svn update deletedDirectory

代替。

对我有用的是

svn revert --depth infinity deletedDir

从您删除的目录上方的级别执行(递归)还原操作。

为了使它成为一个单一的衬垫你可以尝试类似的东西:

svn status | cut -d ' ' -f 8 | xargs svn revert

我能找到的最简单的解决方案是从工作副本中删除父目录(使用rm -rf,而不是svn delete),然后在祖父节点中运行svn update。 例如,如果你删除了/ b / c,rm -rf a / b,cd a,svn up。 这让一切都恢复了。 当然,如果您希望保留父目录中没有其他未提交的更改,这只是一个很好的解决方案。

希望下次我谷歌这个问题时,这个页面将位于结果的顶部。 如果有人建议采用更清洁的方法,那会更好。

在提交之前,您可以删除该文件夹并更新父目录:

rm -r some_dir

svn update some_dir_parent

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM