删除的文件在 SVN 中放在哪里?
Where do deleted files go in SVN?
我刚刚使用 svn --force delete path/folder copy
删除了一些文件。然而,folder
和 copy
之间的 space 让它认为它必须删除多个东西,所以现在它删除了我原来的文件夹。
我还没有对我的原始文件夹进行版本控制,所以所有的更改都没有了。幸运的是,我没有在那个特定的文件夹中进行太多更改,所以如果我最终做了同样愚蠢的事情,这主要是为了将来使用:如何还原或恢复以前未提交的文件?我在哪里可以找到这些文件?他们没有被移到我的垃圾桶。
它们被删除了,很简单。不幸的是,documentation for the delete
command 只说了这个:
Files (and directories that have not been committed) are immediately removed from the working copy unless the --keep-local
option is given.
为了证明,我们必须查看 SVN 源代码,其中 svn_io_remove_file2 eventually calls apr_file_remove,其中:
- 如果你在 Windows invokes DeleteFile. This method just deletes the file; if the programmers wanted to send it to the Recycle Bin, they'd instead have to use SHFileOperation 并传递
FOF_ALLOWUNDO
标志。
- 如果您使用的是 *nix(包括 Mac OS),invokes unlink,它会执行以下操作:
... the file is deleted and the space it was using is made available for reuse
注意:我会对代码中的点做更深入的 link,但是可通过网络访问的 SVN 和 APR 存储库不允许行级 link荷兰国际集团:(
我刚刚使用 svn --force delete path/folder copy
删除了一些文件。然而,folder
和 copy
之间的 space 让它认为它必须删除多个东西,所以现在它删除了我原来的文件夹。
我还没有对我的原始文件夹进行版本控制,所以所有的更改都没有了。幸运的是,我没有在那个特定的文件夹中进行太多更改,所以如果我最终做了同样愚蠢的事情,这主要是为了将来使用:如何还原或恢复以前未提交的文件?我在哪里可以找到这些文件?他们没有被移到我的垃圾桶。
它们被删除了,很简单。不幸的是,documentation for the delete
command 只说了这个:
Files (and directories that have not been committed) are immediately removed from the working copy unless the
--keep-local
option is given.
为了证明,我们必须查看 SVN 源代码,其中 svn_io_remove_file2 eventually calls apr_file_remove,其中:
- 如果你在 Windows invokes DeleteFile. This method just deletes the file; if the programmers wanted to send it to the Recycle Bin, they'd instead have to use SHFileOperation 并传递
FOF_ALLOWUNDO
标志。 - 如果您使用的是 *nix(包括 Mac OS),invokes unlink,它会执行以下操作:
... the file is deleted and the space it was using is made available for reuse
注意:我会对代码中的点做更深入的 link,但是可通过网络访问的 SVN 和 APR 存储库不允许行级 link荷兰国际集团:(