@NotNull
  private MergeCheckResult goUp(final long revisionAsked,
                                final long targetRevision,
                                final String branchRootPath,
                                final String path,
                                @NotNull String trunkUrl) throws VcsException {
    MergeCheckResult result;
    String newTrunkUrl = Url.removeTail(trunkUrl).trim();

    if (newTrunkUrl.length() == 0 || "/".equals(newTrunkUrl)) {
      result = MergeCheckResult.NOT_MERGED;
    }
    else {
      String newPath = new File(path).getParent();
      if (newPath.length() < branchRootPath.length()) {
        // we are higher than WC root -> go into repo only
        if (targetRevision == -1) {
          // no paths in local copy
          result = MergeCheckResult.NOT_EXISTS;
        }
        else {
          Info svnInfo = myVcs.getInfo(new File(branchRootPath));
          result = svnInfo == null || svnInfo.getUrl() == null
                   ? MergeCheckResult.NOT_MERGED
                   : goUpInRepo(revisionAsked, targetRevision, removePathTail(svnInfo.getUrl()), newTrunkUrl);
        }
      }
      else {
        result = checkPathGoingUp(revisionAsked, targetRevision, branchRootPath, newPath, newTrunkUrl, false);
      }
    }

    return result;
  }
@NotNull
  private MergeCheckResult goUp(final long revisionAsked,
                                final long targetRevision,
                                final String branchRootPath,
                                final String path,
                                @NotNull String trunkUrl)