code: def _set_repo(self, url):
          
          if url.startswith('http'):
              try:
                  self.repo = Proxy(url)
              except ProxyError, e:
                  log.exception('Error setting repo: %s' % url)
                  raise GritError(e)
          else:
              try:
                  self.repo = Local(url)
              except NotGitRepository:
                  raise GritError('Invalid url: %s' % url)
              except Exception, e:
                  log.exception('Error setting repo: %s' % url)
                  raise GritError(e)
docs: sets the underlying repo object