如何在svn:ignore值中指定负模式
我正在使用SVN作为我的VCS。 我有一个保存用户上传文件的文件夹。显然,我不需要版本控制。但是,文件夹中只有一个文件,我需要.htaccess 它已经在版本控制下,但如何指定需要该文件夹中除.htaccess之外的所有其他文件 我遇到过这篇文章:,但给出的方法对我来说有点神秘,我无法让它工作如何在svn:ignore值中指定负模式,svn,design-patterns,svnignore,Svn,Design Patterns,Svnignore,我正在使用SVN作为我的VCS。 我有一个保存用户上传文件的文件夹。显然,我不需要版本控制。但是,文件夹中只有一个文件,我需要.htaccess 它已经在版本控制下,但如何指定需要该文件夹中除.htaccess之外的所有其他文件 我遇到过这篇文章:,但给出的方法对我来说有点神秘,我无法让它工作 提前谢谢 其思想是创建一个与除.htaccess之外的所有文件匹配的文件模式。在本文中,他们使用字符类来创建这样的模式 例如 匹配第一个字母不是a的任何文件。如果您像这样指定完整的.htaccess文件名
提前谢谢 其思想是创建一个与除.htaccess之外的所有文件匹配的文件模式。在本文中,他们使用字符类来创建这样的模式 例如 匹配第一个字母不是a的任何文件。如果您像这样指定完整的.htaccess文件名,这将不起作用,但以下可能适用于您:
[^.]*
这将忽略任何不以点开头的文件。其思想是创建一个与除.htaccess之外的所有文件匹配的文件模式。在本文中,他们使用字符类来创建这样的模式 例如 匹配第一个字母不是a的任何文件。如果您像这样指定完整的.htaccess文件名,这将不起作用,但以下可能适用于您:
[^.]*
这将忽略任何不以点开头的文件。Subversion不会将
svn:ignore
中的模式应用于已版本化的文件。因此,在您的示例中,模式*
应该可以。只要忽略所有未版本化的文件。Subversion不会将svn:ignore
中的模式应用于已版本化的文件。因此,在您的示例中,模式*
应该可以。忽略所有未版本的内容。我有点困惑。如果这些文件不在版本控制中,它们会导致哪些问题需要忽略?(我自己经常这样做,没有使用ignore。也许我遗漏了什么。)如果我有一个包含大量文件的很深的文件夹树,那么不需要的文件就会妨碍使用SVN客户端。这是一个小障碍。主要的一点是,我不能确定其他开发人员是否会错误地提交他们的文件。你看。大多数人不会注意,但是一个开发人员在这方面失败就足够了。我正在使用SmartSVN和命令行svn客户端。在这两种情况下,我都有一堆分散的未版本文件。在SmartSVN中,我在提交对话框中看到了它们,在命令行客户端中,我在发出“svn状态”时看到了它们,我有点困惑。如果这些文件不在版本控制中,它们会导致哪些问题需要忽略?(我自己经常这样做,没有使用ignore。也许我遗漏了什么。)如果我有一个包含大量文件的很深的文件夹树,那么不需要的文件就会妨碍使用SVN客户端。这是一个小障碍。主要的一点是,我不能确定其他开发人员是否会错误地提交他们的文件。你看。大多数人不会注意,但是一个开发人员在这方面失败就足够了。我正在使用SmartSVN和命令行svn客户端。在这两种情况下,我都有一堆分散的未版本文件。在SmartSVN中,我在“提交”对话框中看到了它们,在命令行客户端中,我在发出“svn状态”时看到了它们,但它们使用的语法略有不同。。。我应该用你的语法还是他们的?我不明白有什么不同。他们每行都有一个图案,这很好。它们匹配扩展名(即文件名的结尾),因此它们有*foo
,其中星号匹配任何内容。如果要匹配以点开头的文件名,则需要*
。不以点开头的文件名将是[^.]*
。也就是说,不是一个点,后面跟着任何东西。“不同的语法”我指的是否定字符。使用[!x]时,虽然使用[^a],但它们使用的语法略有不同。。。我应该用你的语法还是他们的?我不明白有什么不同。他们每行都有一个图案,这很好。它们匹配扩展名(即文件名的结尾),因此它们有*foo
,其中星号匹配任何内容。如果要匹配以点开头的文件名,则需要*
。不以点开头的文件名将是[^.]*
。也就是说,不是一个点,后面跟着任何东西。“不同的语法”我指的是否定字符。当您使用[^a]schot时,请使用[!x],谢谢您的提示!这对我目前的情况很有效,但仍然不能回答我的问题。肖特,谢谢你的提示!这对我目前的情况是有效的,但仍然不能回答我的问题