info.getRevision().getNumber(), info.getCommittedRevision().getNumber(),
info.getRevision() != null ? info.getRevision().getNumber() : -1, info.getCommittedRevision() != null ? info.getCommittedRevision().getNumber() : - 1,
    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() != null ? info.getCopyFromURL().toString() : null;        String path = info.getFile() != null ? info.getFile().getName() : SVNPathUtil.tail(info.getPath());        if (path != null) {            path = path.replace(File.separatorChar, '/');        }        return new Info(                path,                info.getURL() != null ? info.getURL().toString() : null,                info.getRepositoryUUID(),                info.getRepositoryRootURL() != null ? info.getRepositoryRootURL().toString() : null,                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                );    }