예제 #1
0
 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)
예제 #2
0
 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)
예제 #3
0
 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)
예제 #4
0
 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, '/']))
예제 #5
0
 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, '/']))