/** * Returns the appropriate commit traverser to use for the push operation. * * @param remoteRef the remote ref to push to * @return the {@link CommitTraverser} to use. */ protected CommitTraverser getPushTraverser(Repository local, Optional<Ref> remoteRef) throws SynchronizationException { RepositoryWrapper localWrapper = new LocalRepositoryWrapper(local); RepositoryWrapper remoteWrapper = getRemoteWrapper(); CommitTraverser traverser; if (remoteWrapper.getRepoDepth().isPresent()) { Optional<Integer> pushDepth = Optional.absent(); if (!remoteRef.isPresent()) { pushDepth = remoteWrapper.getRepoDepth(); } traverser = new ShallowCommitTraverser(localWrapper, remoteWrapper, pushDepth); } else if (local.getDepth().isPresent()) { traverser = new ShallowFullCommitTraverser(localWrapper, remoteWrapper); } else { traverser = new FullCommitTraverser(localWrapper, remoteWrapper); } return traverser; }
/** * Returns the appropriate commit traverser to use for the push operation. * * @param remoteRef the remote ref to push to * @return the {@link CommitTraverser} to use. */ protected CommitTraverser getPushTraverser(Repository local, Optional<Ref> remoteRef) throws SynchronizationException { RepositoryWrapper localWrapper = new LocalRepositoryWrapper(local); RepositoryWrapper remoteWrapper = getRemoteWrapper(); CommitTraverser traverser; if (remoteWrapper.getRepoDepth().isPresent()) { Optional<Integer> pushDepth = Optional.absent(); if (!remoteRef.isPresent()) { pushDepth = remoteWrapper.getRepoDepth(); } traverser = new ShallowCommitTraverser(localWrapper, remoteWrapper, pushDepth); } else if (local.getDepth().isPresent()) { traverser = new ShallowFullCommitTraverser(localWrapper, remoteWrapper); } else { traverser = new FullCommitTraverser(localWrapper, remoteWrapper); } return traverser; }
/** * Returns the appropriate commit traverser to use for the fetch operation. * * @param fetchLimit the fetch limit to use * @return the {@link CommitTraverser} to use. */ protected CommitTraverser getFetchTraverser(Repository local, Optional<Integer> fetchLimit) { RepositoryWrapper localWrapper = new LocalRepositoryWrapper(local); RepositoryWrapper remoteWrapper = getRemoteWrapper(); CommitTraverser traverser; if (localWrapper.getRepoDepth().isPresent()) { traverser = new ShallowCommitTraverser(remoteWrapper, localWrapper, fetchLimit); } else if (remoteWrapper.getRepoDepth().isPresent()) { traverser = new ShallowFullCommitTraverser(remoteWrapper, localWrapper); } else { traverser = new FullCommitTraverser(remoteWrapper, localWrapper); } return traverser; }
/** * Returns the appropriate commit traverser to use for the fetch operation. * * @param fetchLimit the fetch limit to use * @return the {@link CommitTraverser} to use. */ protected CommitTraverser getFetchTraverser(Repository local, Optional<Integer> fetchLimit) { RepositoryWrapper localWrapper = new LocalRepositoryWrapper(local); RepositoryWrapper remoteWrapper = getRemoteWrapper(); CommitTraverser traverser; if (localWrapper.getRepoDepth().isPresent()) { traverser = new ShallowCommitTraverser(remoteWrapper, localWrapper, fetchLimit); } else if (remoteWrapper.getRepoDepth().isPresent()) { traverser = new ShallowFullCommitTraverser(remoteWrapper, localWrapper); } else { traverser = new FullCommitTraverser(remoteWrapper, localWrapper); } return traverser; }