代码之家  ›  专栏  ›  技术社区  ›  Nano Taboada

如何在Subversion下包含/排除特定类型的文件?

  •  50
  • Nano Taboada  · 技术社区  · 17 年前

    我对包含/排除术语感到困惑,我的实际SVN客户端似乎没有(或者我无法轻松找到)一个简单的选项来添加或删除某种类型的文件进行版本控制。

    例如,我添加了整个Visual Studio文件夹及其解决方案、项目、调试文件等,但我只想对实际的源文件进行版本控制。最简单的方法是什么?

    7 回复  |  直到 17 年前
        1
  •  60
  •   Peter Mortensen Pieter Jan Bonestroo    9 年前

    排除特定的文件类型可能是最安全的,而不是选择要包含的文件类型,因为这样你就可以添加一个新类型,而不会意识到它没有版本控制。

    在每个目录的基础上,您可以编辑 svn:ignore 财产。

    svn propedit svn:ignore .
    

    为每个相关目录打开一个编辑器,其中包含要忽略的模式列表。

    然后在每一行上放置一个模式,对应于您要忽略的文件类型:

    *.user
    *.exe
    *.dll
    

    你有什么。

    或者,正如建议的那样,您可以将这些模式添加到 global-ignores ~/.subversion/config文件中的属性(或 "%APPDATA%\Subversion\config" 在Windows上-请参阅 Configuration Area Layout in the red bean book for more information ).在这种情况下,用空格分隔图案。这是我的。 # 在行首引入注释。我忽略了安。加载文件和所有*.resharper.user文件:

    ### Set global-ignores to a set of whitespace-delimited globs
    ### which Subversion will ignore in its 'status' output, and
    ### while importing or adding files and directories.
    # global-ignores = *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store
    global-ignores = Ankh.Load *.resharper.user
    
        2
  •  5
  •   Peter Mortensen Pieter Jan Bonestroo    9 年前

    这可以通过使用 svn:ignore 属性,或者全局忽略您的 ~/.subversion/config 文件。(滚动到第一个链接的顶部,查看编辑属性的说明。)

    通过使用 svn propset svn propedit 在一个目录上,您可以使Subversion忽略特定目录中与该模式匹配的所有文件。如果更改全局忽略 ~/.subversion/config s [miscellany] 然而,无论这些文件位于何处,Subversion都会忽略它们。

        3
  •  2
  •   Peter Mortensen Pieter Jan Bonestroo    9 年前

    查看博客文章 svn:ignore .

    我知道使用TortoiseSVN,我可以点击一个根文件夹,在那里我签出了一些东西,并可以通过选择“属性”菜单项添加任意属性。在这种情况下,您只需指定要排除的文件模式。

    这篇博客文章是关于命令行的,但我相信无论你使用什么客户端,它都能很好地工作。

        4
  •  1
  •   Tim Cooper    14 年前

    在最低级别,SVN允许您忽略某些文件或模式 svn:ignore 属性。SVN的VS插件,例如 VisualSVN 将代表您自动忽略这些文件。如果你正在使用 TortoiseSVN ,您可以在资源管理器中右键单击文件和文件夹,然后选择 添加到忽略列表 .

        5
  •  1
  •   John Henckel    10 年前

    另一种方法是,在使用TortoiseSVN时,您可以选择“提交…”,然后右键单击文件并移动到更改列表“提交时忽略”。

        6
  •  1
  •   Peter Mortensen Pieter Jan Bonestroo    9 年前

    使用 svn:ignore 属性,您可以使用通配符。