从visual studio项目创建subversion存储库

时间:2013-08-12 14:48:07

标签: visual-studio svn

我正在尝试使用颠覆,我正在度过艰难时期。文档有时不清楚。基本上我试图弄清楚如何合并但由于文件应该从未包含在存储库中而导致冲突。

我发出了一个svn import命令。这将* .suo和bin和obj文件夹放在存储库中。然后我将svn:ignore命令添加到每个dll的顶级文件夹中,以忽略* .suo,* .user bin和obj。但这仍然会导致问题,因为编译项目(50多个dll)会创建这些文件夹,因为它们存在于存储库之前会导致冲突。

所以我认为我需要创建没有这些文件的存储库。但据我所知,我不能在没有工作目录的情况下使用svn:ignore命令。也许乌龟gui可以做到,但我正在努力学习这个工具本身。如果它不能做到这一点我想知道。

由于 JM

3 个答案:

答案 0 :(得分:0)

合并的第一条规则:始终使用pristine checkout作为合并目标。这意味着,只有结帐时的版本化文件,没有修改,添加,删除,无版本或忽略的文件和文件夹。我通过使用TortoiseSVN的清理命令确保这一点,勾选所有内容:

Pristine-through-Cleanup

根据我对您的问题的理解,您似乎已经SVN-Added-and-Committed一些文件和文件夹本来应该是svn:ignore d。因此,使用TortoiseSVN,选择文件,然后选择TortoiseSVN -> Unversion and add to ignore list -> *.ext

TortoiseSVN's Unversion-Ignore Feature

对文件夹执行相同操作,但Delete and ignore by name代替。

这样做是svn delete,然后在包含文件/文件夹模式集的包含文件夹中添加svn:ignore属性。

然后,提交更改。

之后,按照上面的详细说明执行SVN清理,删除现在被忽略的文件和文件夹,然后进行合并。

值得注意的是,VisualSVN会自动为新添加到解决方案中的项目添加svn:ignore模式。

希望这有帮助。

答案 1 :(得分:0)

我发现答案是在配置文件中使用global-ignores,可以在以下位置找到:

  

C:\用户\%用户%\应用程序数据\漫游\颠覆\配置

我尝试使用svn:ignore,这似乎可以在短期内发挥作用。尝试进行合并,这会导致冲突。配置文件应如下所示:

[miscellany]
global-ignores = *.suo *.user bin obj

但全球忽视实际上是一种全球性的忽视。它是您的计算机的本地计算机,但对于您的所有命令/存储库而言是全局的。任何进行任何导入的人都需要更新他们的文件,否则他们导入的任何项目都会受到冲突。

答案 2 :(得分:0)

您使用的是Visual Studio吗?然后,使用AnkhSVN。这将做几件事:

  • 它将自动不会提交特殊的用户特定VisualStudio文件,这些文件会让您感到心痛。
  • 它允许您从VisualStudio内部使用Subversion。无需单独的客户。
  • 确保使用_svn个文件夹存储Subversion工作目录信息,而不是`.svn。

另外,考虑一个预提交钩子,它会阻止用户提交这些类型的文件。我已经使用了one多年了。它可用于防止用户提交以*.suo.user或名为binobj的目录结尾的任何文件。这可以确保您组中的其他开发人员不会做出令人讨厌的事情。