首页 文章

从visual studio项目创建subversion存储库

提问于
浏览
0

我试图使用颠覆,我正在艰难的时间 . 文档有时不清楚 . 基本上我试图弄清楚如何合并,但由于文件应该永远不会包含在存储库中,这会导致冲突 .

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

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

谢谢JM

3 回答

  • 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 模式 .

    希望这可以帮助 .

  • 0

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

    C:\ Users \%User%\ AppData \ Roaming \ Subversion \ config

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

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

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

  • 0

    你在使用Visual Studio吗?然后,使用AnkhSVN . 这将做几件事:

    • 它将自动不会提交特殊的用户特定VisualStudio文件,这些文件会让您如此痛苦地进入您的存储库 .

    • 它允许您从VisualStudio内部使用Subversion . 无需单独的客户 .

    • 它将确保使用 _svn 文件夹来存储Subversion工作目录信息而不是`.svn .

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

相关问题