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.