发现了妨碍工作的副本

时间:2016-11-12 21:09:46

标签: svn version-control

我已经尝试了解为什么会发生这种情况但我不知道。但我可以解释如何重现这个问题。

首先,我创建一个项目(其中包含主干,分支和标签的文件夹)并将其添加到存储库。我将目录更改为主干。我将一个文件添加到版本控制然后进行提交。然后我决定建立一个分支(问:我创建分支时,我所在的目录是否重要?)。我将目录更改为项目(我的意思是,如果我看到分支,标签和主干)。而在项目目录中我做

svn copy https://repoURL/project_name/trunk/ https://repoURL/project_name/branches/newBranch -m "making new branch"

现在我将目录更改为branches / newBranch并执行

svn co https://repoURL/project_name/branches/newBranch

然后我决定将目录更改为项目(我的意思是,如果我看到分支,标签和主干),然后我做svn更新。这是发现阻碍工作副本的消息的地方。

我试着四处寻找,没有真正解释为什么。一切都是如何解决它。我想知道为什么我可以在一开始就预防它。

非常感谢。

    $ svn update
Updating '.':
Skipped 'branches/newBranch' -- An obstructing working copy was found
At revision 30.
Summary of conflicts:
  Skipped paths: 1

1 个答案:

答案 0 :(得分:1)

问题是您通过嵌套来混合工作副本。这是一个不好的做法。此外,您的工作副本包含同一项目的多个分支。这也是一种不好的做法。

您不应该签出整个存储库的工作副本。不要检查存储库的根目录或项目的根目录。您不需要将所有项目的分支和标签放在同一个工作副本中。

您的工作副本可以立即切换到另一个开发分支/标签/其他。此外,Subversion存储库可以包含许多(非)相关项目,并且最好为每个项目都有一个专用的工作副本,而不是所有项目的单个工作副本。此外,您可以在计算机上拥有无限数量的工作副本。