After recently updating to Jenkins 2.265 and later 2.269 I saw a lot of UI issues due to conversion from tables to divs, and among these did not notice that our legacy jobs no longer recognize they have an SCM - although it is there in config.xml on disk. The plugins in our rotation are the newest from download center at the moment (git-4.5.0 in particular), or newer (with yet unreleased fixes for UI applied).
While pipeline jobs work, the freestyle ones insist that the "Source Code Management" is "None" despite having the tag in config.xml on disk.
This happens both in Web-UI (where I first assumed this is related to divs-vs-tables migration since that UI is pretty broken at the moment), but also happens when a job config is saved - the tag is lost and replaced on disk by nullSCM (doable by Job Config history reverting to an older config, Extensible Arguments saving a new option value, possibly by editing and saving the config - which was not doable with broken UI, etc.), and what's worse - this happens during run-time parsing of the job to actually run it - git is not called, and jobs fail with no code to build.
This last point is the show-stopper for many of our infra jobs that were not converted to pipelines due to time or design reasons. For others in these shoes: a temporary workaround for us was to manually check out needed repos into workspaces previously managed and cleaned by Jenkins - now that it thinks there's no git, there's no repo to clean away either.