docs: def find(self):
          """
          Find all the files we want to find commit times for, and any extra files
          under symlinks.
  
          Then find the commit times for those files and return a dictionary of
          {relative_path: commit_time_as_epoch}
          """
          mtimes = {}
  
          git = Repo(self.root_folder)
          all_files = git.all_files()
          use_files = set(self.find_files_for_use(all_files))
  
          # the git index won't find the files under a symlink :(
          # And we include files under a symlink as seperate copies of the files
          # So we still want to generate modified times for those files
          extras = set(self.extra_symlinked_files(use_files))
  
          # Combine use_files and extras
          use_files.update(extras)
  
          # Tell the user something
          if not self.silent:
              log.info("Finding modified times for %s/%s git controlled files in %s", len(use_files), len(all_files), self.root_folder)
  
          # Finally get the dates from git!
          return self.commit_times_for(git, use_files)