Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Svn subversion是否可以忽略除一个文件之外的所有目录内容?_Svn_Ignore - Fatal编程技术网

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

Svn subversion是否可以忽略除一个文件之外的所有目录内容?,svn,ignore,Svn,Ignore,我有一个/packages目录,其中有一个文件要提交和查看。但是,如果添加了新的内容,我希望忽略它们。这可能吗?可以使用预提交挂钩功能来完成。您可以忽略除该文件以外的所有文件名以进行提交。 查看此链接了解更多信息您可以尝试使用变更列表功能-将所有其他文件放在“提交时忽略”变更列表上,这样它们就不会再次困扰您。这可能不是你想要的 但是,您可以使用稀疏目录功能排除文件,将深度设置为“排除”。这适用于单个文件(好吧,它使用了TortoiseSVN和'makedepth sticky'选项-文件将从您的

我有一个/packages目录,其中有一个文件要提交和查看。但是,如果添加了新的内容,我希望忽略它们。这可能吗?

可以使用预提交挂钩功能来完成。您可以忽略除该文件以外的所有文件名以进行提交。
查看此链接了解更多信息

您可以尝试使用变更列表功能-将所有其他文件放在“提交时忽略”变更列表上,这样它们就不会再次困扰您。这可能不是你想要的

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


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

如果文件与忽略模式匹配,则没有任何内容阻止您手动将该文件添加到SVN。然后SVN将像正常情况一样跟踪该文件,您可以提交更改并轻松查看修改。“忽略”列表唯一影响的是不受修订控制的新文件。

添加一个仅对该文件起作用的自定义挂钩。您可以将其编码为批处理文件或perl文件。将文件放入subversion custom hooks文件夹或hooks文件夹中,代码可能在提交后运行,您只会收到该文件的通知,而不会收到该文件夹中其他文件的通知。

我使用的是Tortoise git,我已通过忽略了包
.gitignore
文件如下。如果我在
repositories.config
文件中进行更改,则“更改”窗口将显示它:

# Visual Studio Nuget package directory
packages/*/

不幸的是,没有看到。对,我想知道我是否可以在提交一个文件后执行类似于
svn:ignore./packages/*
的操作。这会起作用,但以后可能会混淆。另外,
svn:ignore
属性应该放在
packages/
文件夹中,其值为
*
*.
为什么会让人困惑呢?为了论证起见,假设您提交了文件,然后添加了svn:ignore属性并提交了它。然后,修改提交的文件。SVN客户端可能认为应该忽略已提交的文件,因此当您再次尝试提交时,它会报告没有要提交的内容。这在陆龟身上发生过一两次,但它意识到了自己的错误,并显示了修改后的文件准备提交。+1:在问题和其他答案上发表的评论中,这是最直接的方法,而且相当准确。虽然真的没有必要进一步阅读,但我的第三个朋友描述了相同的信息(虽然不那么简洁:-)。我问的是svn而不是git。