maphew

Fossil cheatsheat

2025-03-03

Install fossil and put in PATH (unfortunately fossil does not have concept of “latest” pointing to a download):

mkdir -p ~/.local/bin \
&& curl -sSL --insecure https://fossil-scm.org/home/uv/fossil-linux-x64-202412191913.tar.gz \
| tar -xz -C ~/.local/bin fossil \
&& chmod +x ~/.local/bin/fossil \
&& echo 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.bashrc \
&& source ~/.bashrc

Make ff an alias for fossil permanently:

echo "alias ff='fossil'" >> ~/.bashrc
source ~/.bashrc

2024-11-04

Ignore patterns

I'm switching to using .fossil-settings/ignore-glob file in preference to the settings command. 

fossil settings ignore-glob > .fossil-settings/ignore-glob
dos2unix .fossil-settings/ignore-glob
notepad .fossil-settings/ignore-glob
fossil add .fossil-settings/ignore-glob
fossil unset ignore-glob

The fossil add part is important! By default fossil ignores dotfiles when reporting repo status, extras, and so on. The contents still take effect, but they're not part of the repo history and syncing until added.

 

May 29, 2024

Common python ignore files:

fossil setting ignore-glob ‘*.pyc,__pycache__,*.egg-info’

Check ignore global settings:

fossil setting ignore-glob

per-repo settings are in .fossil-settings/ignore-glob

Local settings override, not supplement, global settings. So typically one wants to concatenate the two togther.

fossil ui >> admin >> settings: shows the same error in red text, above an ignore-glob text field that shows contents of the on-disk ignore-glob file (json/). The box can't be typed in.

fossil settings ignore-glob on the command line shows the global setting but not the local one:

ignore-glob          (global) .pixi/envs
  (overridden by contents of file .fossil-settings/ignore-glob)

I fixed the problem by adding the global ignore pattern to the local ignore-glob file, and then added the suggested .fossil-settings/ignore-glob.no-warn empty marker file.

From < https://fossil-scm.org/forum/forumpost/9dd821aa53>

 

In contrast, Fossil has a global setting and a local setting, but the local setting overrides the global rather than extending it. Similarly, a Fossil command's --ignore option replaces the ignore-glob setting rather than extending it.

https://fossil-scm.org/home/doc/trunk/www/globs.md