Избегайте каталога с Fossil

В Fossil есть механизм избегания, который, как я полагаю, может быть использован для предотвращения контроля версий определенных файлов.

У меня есть каталог с именем R, которым я хочу управлять, за исключением подкаталога внутри него с именем library, который я хочу исключить. Как я могу "избегать" подкаталога?

Мой обычный рабочий процесс выглядит примерно так:

fossil new ../fossils/R.fsl
fossil open ../fossils/R.fsl
fossil add .
fossil ci -m "a commit"
fossil close R.fsl

Страница справки здесь, но я так и не понял:

http://www.fossil-scm.org/index.html/doc/trunk/www/shunning.wiki


person PatrickT    schedule 26.01.2014    source источник


Ответы (2)


Если я правильно прочитал ваш вопрос, вы ищете способ сохранить вне контроля версий определенных файлов.

В этом случае вы, вероятно, ищете параметр ignore-glob.

Этот параметр позволяет указать (фрагменты) путей, которые следует исключить из репозитория.

Например, если вы хотите оставить все файлы в подкаталоге skip, и вы также хотите, чтобы все *.bak файлы везде находились вне вашего репо, вы можете добиться этого с помощью следующей команды:

fossil set ignore-glob "skip/,*.bak"

fossil set ignore-glob принимает список, разделенный запятыми, поэтому это означает, что любой файл, начинающийся с skip/, будет проигнорирован, и все файлы, соответствующие *.bak glob, также будут проигнорированы.

Если вы хотите сначала протестировать настройку ignore-glob (по моему опыту, это может быть немного сложно), вы можете проверить ее с помощью extras. fossil extras обычно показывает все файлы, присутствующие в рабочей папке (и ее подпапках), но не в репозитории. Вы можете изменить настройку ignore-glob с помощью переключателя командной строки --override; тем самым позволяя вам проверить это. Если все работает нормально, вы можете сохранить этот ignore-glob с помощью команды settings, как описано выше.

НЕ используйте для этого shun!

Как ясно сказано в документации, избегать использования не рекомендуется. Его следует использовать только с большой осторожностью и только в том случае, если вы точно понимаете, что он делает, потому что вы можете серьезно испортить свой репозиторий, если используете его неправильно. Ваш вопрос проясняет, что вы не понимаете его использования, поэтому я настоятельно рекомендую забыть о shun, пока вы не познакомитесь с работой Fossil.

person Martijn    schedule 27.01.2014
comment
Спасибо, Мартейн, ты прав. Примерно каждые 2 года я пытаюсь настроить систему контроля версий и обычно сдаюсь (я пробовал bazaar, git, subversion и, возможно, что-то еще, но мне приходилось искать руководство каждый раз, когда я быстро сдаюсь, ископаемое было немного добрее ко мне, но все же я не совершал никаких обязательств около 2 лет из-за этого подкаталога). Не могли бы вы привести пример настройки ignore-glob, чтобы игнорировать подкаталог с именем library внутри каталога R? Спасибо. - person PatrickT; 28.01.2014
comment
@PatrickT: удачи! Совет: подпишитесь на ископаемых пользователей список рассылки; если у вас возникнут проблемы, они обычно могут вам помочь. (Архивы списка можно найти здесь) . - person Martijn; 28.01.2014

Не избегайте боязни. Использовать это:

cd R
fossil settings ignore-glob "library/*"
fossil settings ignore-glob
fossil ls
fossil extra

Вот хорошее руководство для начала https://www.fossil-scm.org/xfer/doc/tip/www/quickstart.wiki

person Jiří Navrátil    schedule 04.05.2020