簡體   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