2016-03-11 6 views
1

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

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

ответ

2

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

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

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

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

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

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

+0

что, если я нахожусь в DOS? – lokheart

+0

Ну, первая часть будет работать независимо от ОС. Вторая альтернатива будет зависеть от используемого вами механизма оболочки или скриптов (я недостаточно знаком с PowerShell, чтобы предложить там подход). –

+0

Окаменелость @lokheart не работает в DOS. Вероятно, вы имеете в виду Windows ... :-P – Martijn

3

В дополнение к Реймер 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