{"thread":{"id":"57802","subject":"use core.fsmonitor instead","startedAt":"2022-04-26T22:44:24Z","lastAt":"2022-04-27T20:41:49Z","messageCount":3,"participants":["David Calkins","Junio C Hamano","Jeff Hostetler"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"454478","messageId":"CAMTWFOGU1ojFLE0v6cyyOh3tRRNmT8Nc9aWW=RLS4aHwJ5QDmw@mail.gmail.com","threadId":"57802","inReplyTo":null,"subject":"use core.fsmonitor instead","fromName":"David Calkins","fromEmail":"david.s.calkins@gmail.com","sentAt":"2022-04-26T22:43:39Z","receivedAt":"2022-04-26T22:44:24Z","isPatch":false,"sender":{"key":"david.s.calkins@gmail.com","avatar":null},"body":"I installed Git v2.36.0 for Windows (64-bit) and when running commands\nI get the following output.\n\nhint: core.useBuiltinFSMonitor will be deprecated soon; use\ncore.fsmonitor instead\nhint: Disable this message with \"git config advice.useCoreFSMonitorConfig false\"\n\nI opened the system Git config file and updated it to have the below.\n\n useBuiltinFSMonitor = false\n\nAfter this change I no longer get that output.  However, the hint\nindicated that I should \"use core.fsmonitor instead\".  Is there\nsomething else I should be doing besides just telling it not to\nuseBuildtinFSMonitor?  How do I tell it to \"use core.fsmonitor\ninstead\"?\n"},{"id":"454481","messageId":"xmqqtuafo1ko.fsf@gitster.g","threadId":"57802","inReplyTo":"CAMTWFOGU1ojFLE0v6cyyOh3tRRNmT8Nc9aWW=RLS4aHwJ5QDmw@mail.gmail.com","subject":"Re: use core.fsmonitor instead","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2022-04-26T23:40:55Z","receivedAt":"2022-04-26T23:41:05Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"David Calkins <david.s.calkins@gmail.com> writes:\n\n> I installed Git v2.36.0 for Windows (64-bit) and when running commands\n> I get the following output.\n>\n> hint: core.useBuiltinFSMonitor will be deprecated soon; use\n> core.fsmonitor instead\n> hint: Disable this message with \"git config advice.useCoreFSMonitorConfig false\"\n>\n> I opened the system Git config file and updated it to have the below.\n>\n>  useBuiltinFSMonitor = false\n>\n> After this change I no longer get that output.  However, the hint\n> indicated that I should \"use core.fsmonitor instead\".  Is there\n> something else I should be doing besides just telling it not to\n> useBuildtinFSMonitor?  How do I tell it to \"use core.fsmonitor\n> instead\"?\n\nI do not do Windows, and I believe this is one area their codebase\ndeviates from what I have in my tree (read: Git for Windows is a bit\nahead of the real Git), so I have to speak with some speculation,\nbut the above does look a poor end-user experience.  If the code\ndetected core.useBuildtinFSMonitor is set to true, it should have\nsuggested to set core.fsmonitor to true instead, not just leaving at\n\"use X instead\" without telling how to use X.\n\nI am speculating that the old way (on Windows) to use the built-in\nfsmonitor code was\n\n    git config core.useBuiltinFSMonitor true\n\n(this is something existed only in Git for Windows).  But the latest\nincantation to ask for the built-in fsmonitor is to say\n\n    git config core.fsmonitor true\n\non platforms that support builtin fsmonitor.  I think that is what\nthe message is trying to tell you.\n\nIt looks also like a very poor design to give hint tied to an advice\nvariable in this case.  They used to use core.usebuiltinfsmonitor\nand they are trying to migrate their users away to use\ncore.fsmonitor variable instead, so they could just have tied the\nadvice messages to core.fsmonitor variable.  If they see that\ncore.usebuiltinfsmonitor is still used, and if they see\ncore.fsmonitor also is set (even to 'false'), then they know the\nuser has migrated, so they can stay quiet without forcing the user\nto set advice.* configuration variable.  If they do not see\ncore.fsmonitor set to anything but core.usebuiltinfsmonitor used,\nthen they can complain.  There shouldn't be a need to use the\nadvice.usecorefsmonitorconfig variable at all, as far as I see, and\nthat makes this end-user experience doubly bad.\n"},{"id":"454543","messageId":"c4397971-5ff5-d339-cfb5-f19993852207@jeffhostetler.com","threadId":"57802","inReplyTo":"CAMTWFOGU1ojFLE0v6cyyOh3tRRNmT8Nc9aWW=RLS4aHwJ5QDmw@mail.gmail.com","subject":"Re: use core.fsmonitor instead","fromName":"Jeff Hostetler","fromEmail":"git@jeffhostetler.com","sentAt":"2022-04-27T20:41:33Z","receivedAt":"2022-04-27T20:41:49Z","isPatch":false,"sender":{"key":"git@jeffhostetler.com","avatar":null},"body":"\n\nOn 4/26/22 6:43 PM, David Calkins wrote:\n> I installed Git v2.36.0 for Windows (64-bit) and when running commands\n> I get the following output.\n> \n> hint: core.useBuiltinFSMonitor will be deprecated soon; use\n> core.fsmonitor instead\n> hint: Disable this message with \"git config advice.useCoreFSMonitorConfig false\"\n> \n> I opened the system Git config file and updated it to have the below.\n> \n>   useBuiltinFSMonitor = false\n> \n> After this change I no longer get that output.  However, the hint\n> indicated that I should \"use core.fsmonitor instead\".  Is there\n> something else I should be doing besides just telling it not to\n> useBuildtinFSMonitor?  How do I tell it to \"use core.fsmonitor\n> instead\"?\n> \n\nYes, the wording of that message could use some work.\n\nGit for Windows 2.34 and 2.35 included an experimental version\nof the builtin FSMonitor feature that was centered around\n`core.useBuiltinFSMonitor`.  We are in the process of upstreaming\nthe FSMonitor feature into core Git.  The first half of it is\nincluded in core Git 2.36 and centered around the `core.fsmonitor`\nconfig variable instead of the former config variable.  Git for Windows\n2.36 recognizes both config variables, but warns that the former\nis deprecated.\n\nSetting\n\tgit config core.fsmonitor true\n\nwill quiet the warning.\n\nWe are phasing out the old config variable as soon as we can retire\nthe \"experimental\" label from the feature in GFW, but felt that we\ncould not just delete it and switch because Windows users sometimes\nhave more than one version of Git installed.  For example, VS\nships with a hidden version that may be ahead or behind the version\nyou have installed explicitly in Program Files.\n\nIf you know that you only have one version of Git installed, you\ncan unset the old config value.  But if you have more than one,\nleave both set to true.\n\nSorry for the confusion.\nJeff\n"}]}