如何将具有特定扩展名的文件添加到化石存储库中?
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 add
、fossil addremove
、fossil clean
和fossil extra
忽略。可以使用fossil set ignore-glob
查询这个变量的当前值。
替代方法(允许列入白名单)是明确指定要添加的文件。例如,如果你在 Unix 上,你可以这样做:
fossil add $(find . -name '*.R')
只添加您需要的文件。对于某些 shell,fossil add **/*.R
也可以工作,如果您没有任何子目录,fossil add *.R
应该可以在任何地方工作。
【讨论】:
如果我在 DOS 上怎么办? 好吧,不管操作系统如何,第一部分都可以工作。第二种选择将取决于您使用的 shell 或脚本机制(我对 PowerShell 不够熟悉,因此无法建议一种方法)。 @lokheart 化石在 DOS 中不起作用。你可能是说 Windows... :-P以上是关于如何将具有特定扩展名的文件添加到化石存储库中?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 CMD 将所有具有特定扩展名的文件从所有子目录移动到其父目录?