def find_server_repository_info(self, server):
        repositories = server.get_repositories(tool='Subversion').all_items

        # Do two paths. The first will be to try to find a matching entry
        # by path/mirror path. If we don't find anything, then the second will
        # be to find a matching UUID.
        for repository in repositories:
            if (self.path == repository['path'] or
                ('mirror_path' in repository and
                 self.path == repository['mirror_path'])):
                return self

        # We didn't find our locally matched repository, so scan based on UUID.
        for repository in repositories:
            try:
                info = repository.get_info()

                if not info or self.uuid != info['uuid']:
                    continue
            except APIError:
                continue

            repos_base_path = info['url'][len(info['root_url']):]
            relpath = self._get_relative_path(self.base_path, repos_base_path)

            if relpath:
                return SVNRepositoryInfo(info['url'], relpath, self.uuid)

        # We didn't find a matching repository on the server. We'll just return
        # self and hope for the best. In reality, we'll likely fail, but we
        # did all we could really do.
        return self
The point of this function is to find a repository on the server that
dataset/ETHPy150Open reviewboard/rbtools/rbtools/clients/svn.py/SVNRepositoryInfo.find_server_repository_info