original_docstring: 
          Initialize/attach to a remote using GitPython. Return a boolean
          which will let the calling function know whether or not a new repo was
          initialized by this function.
          
docstring: Initialize/attach to a remote using GitPython. Return a boolean
  which will let the calling function know whether or not a new repo was
  initialized by this function.
docstring_tokens: Initialize / attach to a remote using GitPython . Return a boolean which will let the calling function know whether or not a new repo was initialized by this function .
code: def init_remote(self):
          '''
          Initialize/attach to a remote using GitPython. Return a boolean
          which will let the calling function know whether or not a new repo was
          initialized by this function.
          '''
          new = False
          if not os.listdir(self.cachedir):
              # Repo cachedir is empty, initialize a new repo there
              self.repo = git.Repo.init(self.cachedir)
              new = True
          else:
              # Repo cachedir exists, try to attach
              try:
                  self.repo = git.Repo(self.cachedir)
              except git.exc.InvalidGitRepositoryError:
                  log.error(_INVALID_REPO.format(self.cachedir, self.url, self.role))
                  return new
  
          self.gitdir = salt.utils.path_join(self.repo.working_dir, '.git')
  
          if not self.repo.remotes:
              try:
                  self.repo.create_remote('origin', self.url)
                  # Ensure tags are also fetched
                  self.repo.git.config('--add',
                                       'remote.origin.fetch',
                                       '+refs/tags/*:refs/tags/*')
                  self.repo.git.config('http.sslVerify', self.ssl_verify)
              except os.error:
                  # This exception occurs when two processes are trying to write
                  # to the git config at once, go ahead and pass over it since
                  # this is the only write. This should place a lock down.
                  pass
              else:
                  new = True
          return new
code_tokens: def init_remote ( self ) : new = False if not os . listdir ( self . cachedir ) : self . repo = git . Repo . init ( self . cachedir ) new = True else : try : self . repo = git . Repo ( self . cachedir ) except git . exc . InvalidGitRepositoryError : log . error ( _INVALID_REPO . format ( self . cachedir , self . url , self . role ) ) return new self . gitdir = salt . utils . path_join ( self . repo . working_dir , '.git' ) if not self . repo . remotes : try : self . repo . create_remote ( 'origin' , self . url ) self . repo . git . config ( '--add' , 'remote.origin.fetch' , '+refs/tags/*:refs/tags/*' ) self . repo . git . config ( 'http.sslVerify' , self . ssl_verify ) except os . error : pass else : new = True return new
short_docstring: Initialize/attach to a remote using GitPython.
short_docstring_tokens: Initialize / attach to a remote using GitPython .
comment: '''
          Initialize/attach to a remote using GitPython. Return a boolean
          which will let the calling function know whether or not a new repo was
          initialized by this function.
          '''$SEP$# Repo cachedir is empty, initialize a new repo there$SEP$# Repo cachedir exists, try to attach$SEP$# Ensure tags are also fetched$SEP$# This exception occurs when two processes are trying to write$SEP$# to the git config at once, go ahead and pass over it since$SEP$# this is the only write. This should place a lock down.