Как добавить файл с определенным расширением в репозиторий ископаемых?

В качестве названия у меня есть несколько типов файлов, хранящихся в папке (с подпапками), которую я использую Fossil для хранения репозитория (например, foo.R; foo.xls; foo.csv), я хочу, чтобы мои файлы R были добавил в репозиторий. Я знаю только использование fossil add . для добавления всех файлов, а затем использование fossil delete *.csv для удаления файлов, которые мне не нужны.

Есть ли более эффективный способ?


person lokheart    schedule 11.03.2016    source источник


Ответы (2)


В дополнение к ответу Реймера Берендса: в командной строке Windows вы можете использовать рекурсивный цикл for:

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

чтобы добавить все ваши .r файлы в репозиторий, в том числе в подпапках. (Если все ваши файлы находятся в одной папке, подойдет fossil add *.r).

Обратите внимание, что если вы хотите использовать это в пакетном или .cmd файле, вам придется удвоить процентные символы (%%):

for /r . %%F in (*.r) do fossil add %%F
person Martijn    schedule 11.03.2016

Не существует прямого способа занести в белый список определенные расширения, но есть способ внести в черный список те, которые вам не нужны. Это можно сделать с помощью команды fossil settings, которая также может быть сокращена как fossil set. Например, чтобы исключить файлы .xls и .csv, вы можете сделать следующее:

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

Параметр ignore-glob — это переменная, которая принимает список шаблонов глобусов, разделенных запятыми или символами новой строки. Они будут игнорироваться fossil add, fossil addremove, fossil clean и fossil extra. Вы можете использовать fossil set ignore-glob для запроса текущего значения этой переменной.

Альтернативой (которая позволяет внести в белый список) является явное указание файлов, которые вы добавляете. Например, если вы используете Unix, вы можете сделать что-то вроде:

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

чтобы добавить только те файлы, которые вам нужны. Для некоторых оболочек также может работать fossil add **/*.R, а если у вас нет подкаталогов, fossil add *.R должен работать везде.

person Reimer Behrends    schedule 11.03.2016
comment
а если я на DOS? - person lokheart; 11.03.2016
comment
Что ж, первая часть будет работать вне зависимости от ОС. Второй вариант будет зависеть от оболочки или механизма сценариев, которые вы используете (я недостаточно знаком с PowerShell, чтобы предложить подход). - person Reimer Behrends; 11.03.2016
comment
Окаменелость @lokheart не работает в DOS. Вы, наверное, имеете в виду Windows... :-P - person Martijn; 11.03.2016