docs: def status(self):
          '''
          :returns:
              Current repository status as dictionary:
  
          * 'clean': ``True`` if there are no changes ``False`` otherwise
          * 'untracked': A list of untracked files (if any and not 'clean')
          * 'modified': A list of modified files (if any and not 'clean')
          * 'deleted': A list of deleted files (if any and not 'clean')
          * 'conflicting': A list of conflicting files (if any and not 'clean')
          '''
  
          status = self.m(
              'getting git status',
              cmdd=dict(cmd='git status --porcelain', cwd=self.local),
              verbose=False
          ).get('stdout')
  
          o, m, f, g = list(), list(), list(), list()
          if status:
              for w in status:
                  s, t = w[:2], w[3:]
                  if '?' in s:
                      o.append(t)
                  if 'M' in s:
                      m.append(t)
                  if 'D' in s:
                      f.append(t)
                  if 'U' in s:
                      g.append(t)
          clean = False if o + m + f + g else True
          return dict(
              untracked=o, modified=m,
              deleted=f, conflicting=g, clean=clean)