如何将具有特定扩展名的文件添加到化石存储库中?

Posted

技术标签:

【中文标题】如何将具有特定扩展名的文件添加到化石存储库中?【英文标题】:How to add file with specific extension into fossil repository? 【发布时间】:2016-06-26 03:15:37 【问题描述】:

作为标题,我有几种类型的文件存储在一个文件夹(带有子文件夹)中,我使用 Fossil 来保存一个存储库(例如 foo.R; foo.xls; foo.csv),我只想要我的 R要添加到存储库中的文件。我只知道使用fossil add .添加所有文件,然后使用fossil delete *.csv删除我不需要的文件。

有没有更有效的方法?

【问题讨论】:

【参考方案1】:

除了 Reimer Behrends 的 answer:在 Windows 命令行上,您还可以使用 recursive for loop:

for /r . %F in (*.r) do @fossil add %F

将所有.r 文件添加到存储库,包括子文件夹中的文件。 (如果您的文件都在同一个文件夹中,fossil add *.r 可以)。

请注意,如果您想在批处理或.cmd 文件中使用它,则必须将百分比字符加倍 (%%):

for /r . %%F in (*.r) do fossil add %%F

【讨论】:

【参考方案2】:

没有直接的方法可以将某些扩展程序列入白名单,但有一种方法可以将您不需要的扩展程序列入黑名单。这可以通过fossil settings 命令完成,也可以缩写为fossil set。例如,要排除 .xls.csv 文件,您可以这样做:

fossil set ignore-glob '*.xls,*.csv'

ignore-glob 设置是一个变量,它将接受以逗号或换行符分隔的 glob 模式列表。这些将被fossil addfossil addremovefossil cleanfossil extra 忽略。可以使用fossil set ignore-glob查询这个变量的当前值。

替代方法(允许列入白名单)是明确指定要添加的文件。例如,如果你在 Unix 上,你可以这样做:

fossil add $(find . -name '*.R')

只添加您需要的文件。对于某些 shell,fossil add **/*.R 也可以工作,如果您没有任何子目录,fossil add *.R 应该可以在任何地方工作。

【讨论】:

如果我在 DOS 上怎么办? 好吧,不管操作系统如何,第一部分都可以工作。第二种选择将取决于您使用的 shell 或脚本机制(我对 PowerShell 不够熟悉,因此无法建议一种方法)。 @lok​​heart 化石在 DOS 中不起作用。你可能是说 Windows... :-P

以上是关于如何将具有特定扩展名的文件添加到化石存储库中?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 CMD 将所有具有特定扩展名的文件从所有子目录移动到其父目录?

如何使用 multer 存储具有文件扩展名的文件?

当包含特定文件扩展名时,如何将类添加到超链接?

如何使用 package.json 脚本复制具有特定文件扩展名的文件

如何列出具有 .o 扩展名的静态库中的文件名

化石中更新和拉取命令之间的区别