info.getRepositoryRootURL(),
info.getRepositoryRootURL() != null ? info.getRepositoryRootURL().toString() : null,
    public static Info createInfo(SVNInfo info) {        if(info == null){            return null;        }        int schedule = ScheduleKind.normal;        if (SVNProperty.SCHEDULE_ADD.equals(info.getSchedule())) {            schedule = ScheduleKind.add;        } else if (SVNProperty.SCHEDULE_DELETE.equals(info.getSchedule())) {            schedule = ScheduleKind.delete;        }        File file = info.getFile();        boolean deleted = !file.exists() && schedule == ScheduleKind.delete;        boolean absent = !deleted && !file.exists();        boolean incomplete = false;        long copyRev = info.getCopyFromRevision().getNumber();        String copyUrl = info.getCopyFromURL();        return new Info(                info.getFile() != null ? info.getFile().getName() : SVNPathUtil.tail(info.getPath()),                info.getURL(),                info.getRepositoryUUID(),                info.getRepositoryRootURL(),                schedule,                getNodeKind(info.getKind()),                info.getAuthor(),                info.getRevision().getNumber(),                info.getCommittedRevision().getNumber(),                info.getCommittedDate(),                info.getTextTime(),                info.getPropTime(),                info.getCopyFromRevision() != null || info.getCopyFromURL()!=null,                deleted, absent, incomplete, copyRev, copyUrl                );    }