docs: def file_commit_times(self, use_files_paths, debug=False):
          """
          Traverse the commits in the repository, starting from HEAD until we have
          found the commit times for all the files we care about.
  
          Yield each file once, only when it is found to be changed in some commit.
  
          If self.debug is true, also output log.debug for the speed we are going
          through commits (output commits/second every 1000 commits and every
          100000 commits)
          """
          prefixes = PrefixTree()
          prefixes.fill(use_files_paths)
  
          for entry in self.git.get_walker():
              # Commit time taking into account the timezone
              commit_time = entry.commit.commit_time - entry.commit.commit_timezone
  
              # Get us the two different tree structures between parents and current
              cf_and_pf, changes = self.tree_structures_for(()
                  , entry.commit.tree
                  , [self.git.get_object(oid).tree for oid in entry.commit.parents]
                  , prefixes
                  )
  
              # Deep dive into any differences
              difference = []
              if changes:
                  cfs_and_pfs = [(cf_and_pf, changes)]
                  while cfs_and_pfs:
                      nxt, changes = cfs_and_pfs.pop(0)
                      for thing, changes, is_path in self.differences_between(nxt[0], nxt[1], changes, prefixes):
                          if is_path:
                              found = prefixes.remove(thing[:-1], thing[-1])
                              if found:
                                  difference.append('/'.join(thing))
                          else:
                              cfs_and_pfs.append((thing, changes))
  
              # Only yield if there was a difference
              if difference:
                  yield entry.commit.sha().hexdigest(), commit_time, difference
  
              # If nothing remains, then break!
              if not prefixes:
                  break