【问题标题】: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删除我不需要的文件。

有没有更有效的方法?

【问题讨论】:

    标签: fossil


    【解决方案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
      猜你喜欢
      • 2023-02-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-14
      • 2016-01-06
      • 2017-02-10
      • 2020-06-06
      • 2011-02-14
      • 1970-01-01
      相关资源
      最近更新 更多