【问题标题】:What are "switched files" with regard to SVN/IntelliJ?关于 SVN/IntelliJ,什么是“切换文件”?
【发布时间】:2015-07-11 02:33:03
【问题描述】:

我有一个现有的 Maven 项目,我用它来创建一个新的 IntelliJ 项目(“从外部模型导入项目”选项)。我更改了一些文件并提交了它们。

然后我意识到我在错误的分支上(我们称之为wrong)。我退出了IDEA,用Tortoise SVN切换到正确的分支(姑且称之为right),然后重新打开IDEA。一切似乎都很好,除了,我现在在“更改”窗口的“本地”选项卡中有一个名为“切换文件”的组。这个“切换文件”有一个名为“分支/错误”的子组,它似乎包含整个存储库中的所有文件!这些文件与签入right 的文件没有区别,并且它们中的大多数也与wrong 中的文件没有区别。然而,它们在我的“更改”窗口中。

此外,这些文件不会显示在 Tortoise 的“提交”窗口中,但它们确实显示在 Tortoise 的“检查修改”窗口中。但是,据我所知,这些文件并没有被修改过,它们的任何属性也没有被修改过。

什么是“切换文件”,我如何简单地将所有内容还原到 right 分支?

【问题讨论】:

  • 我没有在svn中玩过switch命令,但是一般当发生这种情况时,我只是做干净的结帐。

标签: svn tortoisesvn intellij-idea


【解决方案1】:

显然这只是 Subversion 的事情。我不知道“切换”文件的概念。您可以使用命令行来判断您的某些文件是否被切换:

$ svn st
    S  file1.txt
    S  file2.txt

“已切换”文件将标有“S”。如果您对这些文件之一执行svn info,您将看到列出的 URL 与您当前分支的 URL 不匹配。请参阅this SO post 了解更多信息。

我仍然不知道它的真正含义,或者它是如何通过执行“乌龟->切换...”进入那种状态的,但我知道如何解决它:

$ svn switch URL

URL 是您要切换到的分支的 svn:// URL。这应该递归扫描所有文件并将它们牢牢地放在“正确”分支上。

【讨论】:

  • 有什么办法可以在idea中做到这一点?
  • 关于它是如何进入这种状态的,就我而言,我认为它发生在切换被网络问题中断时
【解决方案2】:

我刚刚遇到了类似的问题,在切换分支后,一个文件由于某种原因被标记为“已切换”。

我可以通过 IDEA 解决这个问题,确保我没有进行任何本地更改,切换回“错误”分支,然后再次切换到“正确”分支。

请注意,我使用的是 IDEA 进行切换,而不是 Tortoise。

【讨论】:

  • 对我来说切换到第三个分支并返回也有效。 (如果该分支更相似,可能是可取的)。
猜你喜欢
  • 2011-10-27
  • 1970-01-01
  • 2012-11-09
  • 2021-07-17
  • 1970-01-01
  • 1970-01-01
  • 2014-09-05
  • 1970-01-01
  • 2010-09-08
相关资源
最近更新 更多