Fossil User Forum

Understanding ’setting ignore-glob has both versioned and non-versioned values’
Login

Understanding ’setting ignore-glob has both versioned and non-versioned values’

Understanding 'setting ignore-glob has both versioned and non-versioned values'

(1) By matt w. (maphew) on 2024-06-18 20:58:07 [link] [source]

setting ignore-glob has both versioned and non-versioned values: using versioned value from file "D:/xxx/.fossil-settings/ignore-glob" (to silence this warning, either create an empty file named "D:/xxx/.fossil-settings/ignore-glob.no-warn" in the check-out root, or delete the non-versioned setting with "fossil unset ignore-glob")

What docs do I need to study to understand what's happening here and what I might want to do about it?

I don't see this addressed in https://fossil-scm.org/home/doc/trunk/www/unvers.wiki

I've found this conversation from 9 years ago and repeats about how to silence the warning, but I don't know if that's a good idea or not - https://fossil-users.fossil-scm.narkive.com/sXhDq1Xb/fossil-unset-ignore-glob-seem-not-to-work

(2) By hanche on 2024-06-18 21:35:56 in reply to 1 [link] [source]

You maight look at the docs for the settings command:

Settings marked as versionable are overridden by the contents of the file named .fossil-settings/PROPERTY in the check-out root, if that file exists.

So you have a setting for ignore-glob created by the settings command, and that is overridden by the contents of the file .fossil-settings/ignore-glob in your checkout.

The message you quoted suggests two ways to deal with it.

(3) By matt w. (maphew) on 2024-06-19 20:04:42 in reply to 2 [source]

you have a setting for ignore-glob created by the settings command, and that is overridden by the contents of the file .fossil-settings/ignore-glob

Ahhh, this put me on the right track, specifically local file is overriding global setting. Thank you! That was not clear from the error message.

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 ignore-glob.no-warn empty marker file.

I'm still confused why the error seems most concerned about versioned and unversioned values, and just what that means in this context. I have unversioned files in this repo but they're not part of either of glob pattern.

(4) By Stephan Beal (stephan) on 2024-06-19 20:12:22 in reply to 3 [link] [source]

I have unversioned files in this repo but they're not part of either of glob pattern.

It has nothing at all to do with unversioned files, despite the description "unversioned."

$ fossil set --global ...

creates a setting which applies to all repositories and is not "versioned" in the sense that it's not part of any repository's SCM history. It's local to that specific user/machine. Such settings are stored in your user account's "global" fossil database (typically ~/.config/fossil.db, but that can differ per system).

The .fossil-settings/... files apply to the repository, and every clone of that repository. When .fossil-settings/FOO exists, it overrides the global FOO setting and you are warned that the "global" setting does not apply because the repo-specific setting supersedes it.

(5) By Warren Young (wyoung) on 2024-06-19 22:01:09 in reply to 4 [link] [source]

despite the description "unversioned."

The error speaks of "non-versioned" values. Maphew made an unwarranted leap from that term to "unversioned".

(6) By matt w. (maphew) on 2024-07-09 19:56:49 in reply to 5 [link] [source]

indeed, I did lump un- and non- into the same mental bucket. Thank you both for the clarifications.

(7) By Warren Young (wyoung) on 2024-07-09 20:21:06 in reply to 6 [link] [source]

Realize also that this non vs un thing is a side matter. We could swap it to "nonversioned files" and "unversioned settings", and the outcome would be the same. Files ≠ settings, though perhaps confusingly, settings may be defined in files.