code: def get_repo(path=None, alias=None, create=False):
      
      if create:
          if not (path or alias):
              raise TypeError("If create is specified, we need path and scm type")
          return get_backend(alias)(path, create=True)
      if path is None:
          path = abspath(os.path.curdir)
      try:
          scm, path = get_scm(path, search_up=True)
          path = abspath(path)
          alias = scm
      except VCSError:
          raise VCSError("No scm found at %s" % path)
      if alias is None:
          alias = get_scm(path)[0]
  
      backend = get_backend(alias)
      repo = backend(path, create=create)
      return repo
docs: Returns ``Repository`` object of type linked with given ``alias`` at
      the specified ``path``. If ``alias`` is not given it will try to guess it
      using get_scm method