def _ReadLoose(self, prefix): base = os.path.join(self._gitdir, prefix) for name in platform_utils.listdir(base): p = os.path.join(base, name) if platform_utils.isdir(p): self._mtime[prefix] = os.path.getmtime(base) self._ReadLoose(prefix + name + '/') elif name.endswith('.lock'): pass else: self._ReadLoose1(p, prefix + name)
def _ReadLoose(self, prefix): base = os.path.join(self._gitdir, prefix) for name in platform_utils.listdir(base): p = os.path.join(base, name) # We don't implement the full ref validation algorithm, just the simple # rules that would show up in local filesystems. # https://git-scm.com/docs/git-check-ref-format if name.startswith('.') or name.endswith('.lock'): pass elif platform_utils.isdir(p): self._mtime[prefix] = os.path.getmtime(base) self._ReadLoose(prefix + name + '/') else: self._ReadLoose1(p, prefix + name)
def _FindOrphans(self, dirs, proj_dirs, proj_dirs_parents, outstring): """find 'dirs' that are present in 'proj_dirs_parents' but not in 'proj_dirs'""" status_header = ' --\t' for item in dirs: if not platform_utils.isdir(item): outstring.append(''.join([status_header, item])) continue if item in proj_dirs: continue if item in proj_dirs_parents: self._FindOrphans( glob.glob('%s/.*' % item) + glob.glob('%s/*' % item), proj_dirs, proj_dirs_parents, outstring) continue outstring.append(''.join([status_header, item, '/']))
def _FindOrphans(self, dirs, proj_dirs, proj_dirs_parents, outstring): """find 'dirs' that are present in 'proj_dirs_parents' but not in 'proj_dirs'""" status_header = ' --\t' for item in dirs: if not platform_utils.isdir(item): outstring.append(''.join([status_header, item])) continue if item in proj_dirs: continue if item in proj_dirs_parents: self._FindOrphans(glob.glob('%s/.*' % item) + glob.glob('%s/*' % item), proj_dirs, proj_dirs_parents, outstring) continue outstring.append(''.join([status_header, item, '/']))