private boolean urlsMatch()

in git-server/src/main/java/jetbrains/buildServer/buildTriggers/vcs/git/GitMapFullPath.java [138:169]


  private boolean urlsMatch(@NotNull GitVcsRoot root, @NotNull FullPath fullPath) {
    final String url = removeBranch(fullPath.getRepositoryUrl());
    if (url.isEmpty() && PersonalPatchUtil.isApplyChangeWhenVCSUnknown()) return true;

    final URIish uri;
    try {
      uri = new URIish(url);
    } catch (final URISyntaxException e) {
      if (ReferencesResolverUtil.containsReference(url)) {
        LOG.warn("Unresolved parameter in url " + url + ", root " + LogUtil.describe(root));
      } else {
        LOG.warnAndDebugDetails("Error while parsing VCS root url " + url + ", root " + LogUtil.describe(root), e);
      }
      return false;
    }

    final URIish settingsUrl = root.getRepositoryFetchURL().get();
    if (settingsUrl == null) {
      return false;
    }
    if (uri.getHost() == null && settingsUrl.getHost() != null || uri.getHost() != null && !uri.getHost().equals(settingsUrl.getHost())) {
      return false;
    }
    if (uri.getPort() != settingsUrl.getPort()) {
      return false;
    }
    if (uri.getPath() == null && settingsUrl.getPath() != null || uri.getPath() != null && !uri.getPath().equals(settingsUrl.getPath())) {
      return false;
    }

    return true;
  }