状态“S”在Subversion中

在某些时候,我的工作副本中的所有文件都标有“S”符号,如下所示:

$ svn st MS AclController.php S InstallationController.php S CustomerController.php S RedirController.php S IndexController.php S LoginController.php S OrderController.php S ProductController.php S SelfInstallController.php S SelfcareController.php 

有趣的是,它只发生在这个特定的工作副本 – 当我检查项目到新的目录,它不显示“S”标记。

如何摆脱这个烦人的“S”符号? 这显着降低了WC状态的清晰度。

更新:我不时切换使用标准的svn switch语法。 直到最近才出现这个“S”符号。 用于切换的命令是:

 svn switch svn+ssh://xxxxxx/subversion/xxxxxxx/releases/1.0.16 . 

有什么办法可以清除“S”标志吗?

这意味着这些文件来自Subversion版本库中的不同位置,而不是包含它们的目录。 解决scheme是将整个工作副本切换到相同的位置。 有关如何调用该命令的详细信息,请参见subversion手册中的两个 部分 。

如果您在目录本身上调用“svn info”,并且在其中一个文件中会得到两个不同的URL。

如果文件/目录的URL与父文件的URL不匹配,则会得到“S”状态。

你能发布父母的url和其中一个子节点吗? (在适当的情况下匿名URL)

从中继线(r100)切换到某个分支(r50)时,我有' S '状态。 我得到了错误:

 svn: Failed to add file 'web/.htaccess': an unversioned file of the same name already exists 

所有网站的子目录都被标记为“ S ”。

原因:我删除了.htaccess svn:忽略它(r100),然后再次创build它(未版本化和忽略)。 分支(r50)在回购中仍然有web / .htaccess。

解决scheme :

 mv web/.htaccess ../../ svn switch back to trunk svn switch to branch again 

一切安好。

我在成功提交给SVN的目录中遇到了这个问题。 我的解决scheme是擦除本地然后更新。 我看不出有什么区别,但.svn文件是由于某种原因(不再是S)而被修复的。

只是一个评论:当我从存储库中的同一位置检出一个已删除的目录, 但使用了不同的URL时 ,我得到了相同的S符号,即使用不同的协议来检出,如“svn checkout svn + ssh:// user @ scm .gforge …'对'svn checkout –username用户https://scm.gforge ….'。 我通过使用第一次结帐时使用的相同的URL重新签出来解决此问题。

如果有人迟到寻找答案(这是正确的上面),我认为这种情况的一个可能的原因是一个父目录“svn开关”失败(如在本地未提交的文件相同的名称,没有强制选项),所有文件保留在“未切换”失败之后。

这就是为什么(假设原来的问题稍后得到纠正),在同一个父目录上再次执行一个后续的“svn switch”,确实会将其余未切换的文件切换到一个新的repopath。

这意味着你已经从一个工作副本切换到另一个工作副本,例如你已经签出了一个工作副本,然后交换它来比较一个代码分支。 看看SVN书的细节如何撤消这个。

还有另外一种方法可以实现这种状态 – 希望能够节省一些时间。

我将一个外部库解压到我的SVN根目录下,结果第三方作者不小心把他们自己的.svn文件夹包含在他们的一个文件夹中。 这当然会覆盖我们自己的,正确的,颠覆文件夹,并具有本页其他地方描述的效果 – 一个文件夹似乎意外切换到另一个分支。

切换分支时通常会造成中断。

切换到不同的分支,然后切换回你真正想要的分支。

svn switch some_other_branch_url

svn switch desired_branch_url

“项目被切换。”

如果你在你的工作副本上使用“svn switch”,可能会解释它?

对于我来说,当“svn switch”命令被中断并且用TortoriseSVN解决时,我会右击文件并select切换回父

我build议你阅读官方的帮助,试试:

 svn st --help 

要么

 svn st --help | grep S 'S' the item has a Switched URL relative to the parent