Provenance in the wild
With delight I read today in GitHubs summary of git 2.8 release notes the following:
Git configuration values are read from several different places, including system-level, user-level, and repository-specific files. This can make it hard to figure out where a setting has to be changed. Now you can use git config –show-origin to show where a particular setting came from.
They give an example that shows in which file the user.name
setting was set:
$ git config --show-origin user.name
file:/home/me/.gitconfig Me Myself
This tells us that the value Me Myself
“comes from” the file /home/me/.gitconfig
.
I keep having trouble finding good examples for why you need provenance support in a language. It really should not be that hard. This makes a great case for language-integrated provenance. I should look into what their exact semantics are, but at a first glance this looks like what I would call where-provenance.
You could model this in Links with where-provenance, if config values were stored in a database. I guess this is a point in favor of relaxing our restrictions (to database values) on provenance a bit.
People care about provenance, even though few people know what you’re talking about, when you say “provenance”.