subversion是否可以忽略除一个文件之外的所有目录内容?

时间:2013-12-10 15:11:45

标签: svn ignore

我有一个/ packages目录,其中包含一个我要提交和监视的文件。但是,如果添加新内容,我会忽略它们。这可能吗?

5 个答案:

答案 0 :(得分:2)

如果文件与忽略模式匹配,则不会阻止您手动将该文件添加到SVN。然后SVN将正常跟踪该文件,您可以毫无困难地提交更改并查看修改。忽略列表唯一影响的是未受版本控制的新文件。

答案 1 :(得分:0)

可以使用预提交钩子功能来完成。您可以忽略该文件以外的所有文件名来提交。 有关详细信息,请参阅此链接http://pear.php.net/manual/en/package.php.php-codesniffer.svn-pre-commit.php

答案 2 :(得分:0)

您可以随时尝试使用更改列表功能 - 将所有其他文件放在您的ignore-on-commit更改列表中,它们不会再次打扰您。这可能不是你想要的。

但是,您可以使用稀疏目录功能排除文件,将深度设置为“exclude”。这适用于单个文件(好吧,它使用TortoiseSVN和'make depth sticky'选项 - 文件将从您的工作副本中消失,如果您更新则不会返回,除非您重置目录深度)

小心设置文件的深度,而不是目录。随后添加的任何文件都将显示在您的目录中,您也必须将它们排除在外。可能设置目录以排除所有内容,然后重新包含您想要的1个文件 - 我没有尝试过,请告诉我们它是否有效。

答案 3 :(得分:0)

添加一个仅适用于该文件的自定义挂钩。您可以将其编码为批处理文件或perl文件。将文件放在subversion自定义hooks文件夹或hooks文件夹中,代码可能在post commit上运行,只有那个文件才会被通知,而不是该文件夹中的其他文件。

答案 4 :(得分:0)

我正在使用Tortoise git,我忽略了包。 .gitignore文件如下。如果我在repositories.config文件中进行更改,则更改窗口会显示:

# Visual Studio Nuget package directory
packages/*/