docs: def branches(self):
          """
          Returns a data frame of all branches in origin.  The DataFrame will have the columns:
  
           * repository
           * branch
           * local
  
          :returns: DataFrame
          """
  
          # first pull the local branches
          local_branches = self.repo.branches
          data = [[x.name, True] for x in list(local_branches)]
  
          # then the remotes
          remote_branches = self.repo.git.branch(all=True).split('\n')
          if sys.version_info.major == 2:
              remote_branches = set([x.split('/')[-1] for x in remote_branches if 'remotes' in x])
          else:
              remote_branches = {x.split('/')[-1] for x in remote_branches if 'remotes' in x}
  
          data += [[x, False] for x in remote_branches]
  
          df = DataFrame(data, columns=['branch', 'local'])
          df['repository'] = self._repo_name()
  
          return df