【发布时间】:2016-06-26 03:15:37
【问题描述】:
作为标题,我有几种类型的文件存储在一个文件夹(带有子文件夹)中,我使用 Fossil 来保存一个存储库(例如 foo.R; foo.xls; foo.csv),我只想要我的 R要添加到存储库中的文件。我只知道使用fossil add .添加所有文件,然后使用fossil delete *.csv删除我不需要的文件。
有没有更有效的方法?
【问题讨论】:
标签: fossil
作为标题,我有几种类型的文件存储在一个文件夹(带有子文件夹)中,我使用 Fossil 来保存一个存储库(例如 foo.R; foo.xls; foo.csv),我只想要我的 R要添加到存储库中的文件。我只知道使用fossil add .添加所有文件,然后使用fossil delete *.csv删除我不需要的文件。
有没有更有效的方法?
【问题讨论】:
标签: fossil
除了 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
【讨论】:
没有直接的方法可以将某些扩展程序列入白名单,但有一种方法可以将您不需要的扩展程序列入黑名单。这可以通过fossil settings 命令完成,也可以缩写为fossil set。例如,要排除 .xls 和 .csv 文件,您可以这样做:
fossil set ignore-glob '*.xls,*.csv'
ignore-glob 设置是一个变量,它将接受以逗号或换行符分隔的 glob 模式列表。这些将被fossil add、fossil addremove、fossil clean 和fossil extra 忽略。可以使用fossil set ignore-glob查询这个变量的当前值。
替代方法(允许列入白名单)是明确指定要添加的文件。例如,如果你在 Unix 上,你可以这样做:
fossil add $(find . -name '*.R')
只添加您需要的文件。对于某些 shell,fossil add **/*.R 也可以工作,如果您没有任何子目录,fossil add *.R 应该可以在任何地方工作。
【讨论】: