SVN似乎没有还原更改

SVN似乎没有还原更改,svn,revert,Svn,Revert,我从回购中提取,对几个文件进行了更改,现在我想撤销它们 我尝试了svn revert-R.和svn revert--depth infinity.但是当我调用svn status时,我仍然看到所有标记为已修改的文件,它们似乎与我尝试还原之前的文件一样 我在文档中看到了关于恢复更改的讨论,但它似乎涉及从一个提交到另一个提交,而不是撤消所有未提交的更改 (我没有接触陆龟的途径。) 我无法给出status命令的确切转储,但它看起来有点像这样: >>svn status ? dir/

我从回购中提取,对几个文件进行了更改,现在我想撤销它们

我尝试了
svn revert-R.
svn revert--depth infinity.
但是当我调用
svn status
时,我仍然看到所有标记为已修改的文件,它们似乎与我尝试还原之前的文件一样

我在文档中看到了关于恢复更改的讨论,但它似乎涉及从一个提交到另一个提交,而不是撤消所有未提交的更改

(我没有接触陆龟的途径。)

我无法给出status命令的确切转储,但它看起来有点像这样:

>>svn status
?    dir/
?    dir/
X    dir/
?    dir/

Performing status on external item at [dir]
M    file

Performing status on external item at [dir]
?    dir/
?    dir/
?    file
?    file
X    dir/
根据,有一些命令将递归到由externals定义的目录中。这些命令是:

  • 结帐
  • 更新
  • 开关
  • 出口
  • 地位
其中大多数都有一个
——ignore externals
标志,可以避免更新它们

但是,使用svn:externals的工作原理是在定义它们的目录下创建独立的工作副本。除了上面的一小部分命令外,这正是外部目录的处理方式。特别是在您的情况下,
svn revert
会跳过外部目录,因为这些目录实际上不是此工作副本的一部分

不幸的是,这似乎是svn中剩下的一个难点:外部。您可能需要将目录更改为修改后的外部目录,并在其中进行恢复


您可能可以很容易地编写脚本。

我自己总是保存备份的压缩文件,独立于任何存储库。当需要“追溯”到旧版本时,他们中很少有人会做我想做的事情(例如,他们给它一个新的时间戳,而不是原来的时间戳)。。。。。当然,对于其他开发人员,请遵守组织的策略并将代码放入存储库中,但一定要保持独立的备份……revert命令的输出是什么?它列出了还原的文件吗?@LaurentH。我不相信有任何输出。向我们显示
svn状态
output。它是否有
M
标记的项目或
标记的项目?请阅读最新文档。最新的SVNBook版本是1.8,但您可以参考1.5。