Package org.eclipse.jgit.transport

Examples of org.eclipse.jgit.transport.Transport


    final TestRepository<FileRepository> src = createTestRepository();
    final RevBlob Q_bin = src.blob(new TestRng("Q").nextBytes(128 * 1024));
    final RevCommit Q = src.commit().add("Q", Q_bin).create();
    final FileRepository db = src.getRepository();
    final String dstName = Constants.R_HEADS + "new.branch";
    Transport t;

    enableReceivePack();

    db.getConfig().setInt("core", null, "compression", 0);
    db.getConfig().setInt("http", null, "postbuffer", 8 * 1024);
    db.getConfig().save();

    t = Transport.open(db, remoteURI);
    try {
      final String srcExpr = Q.name();
      final boolean forceUpdate = false;
      final String localName = null;
      final ObjectId oldId = null;

      RemoteRefUpdate u = new RemoteRefUpdate(src.getRepository(),
          srcExpr, dstName, forceUpdate, localName, oldId);
      t.push(NullProgressMonitor.INSTANCE, Collections.singleton(u));
    } finally {
      t.close();
    }

    assertTrue(remoteRepository.hasObject(Q_bin));
    assertNotNull("has " + dstName, remoteRepository.getRef(dstName));
    assertEquals(Q, remoteRepository.getRef(dstName).getObjectId());
View Full Code Here


    Repository dst = createBareRepository();

    assertEquals("http", remoteURI.getScheme());

    Map<String, Ref> map;
    Transport t = Transport.open(dst, remoteURI);
    try {
      // I didn't make up these public interface names, I just
      // approved them for inclusion into the code base. Sorry.
      // --spearce
      //
      assertTrue("isa TransportHttp", t instanceof TransportHttp);
      assertTrue("isa HttpTransport", t instanceof HttpTransport);

      FetchConnection c = t.openFetch();
      try {
        map = c.getRefsMap();
      } finally {
        c.close();
      }
    } finally {
      t.close();
    }

    assertNotNull("have map of refs", map);
    assertEquals(2, map.size());
View Full Code Here

  public void testInitialClone_Loose() throws Exception {
    Repository dst = createBareRepository();
    assertFalse(dst.hasObject(A_txt));

    Transport t = Transport.open(dst, remoteURI);
    try {
      t.fetch(NullProgressMonitor.INSTANCE, mirror(master));
    } finally {
      t.close();
    }

    assertTrue(dst.hasObject(A_txt));
    assertEquals(B, dst.getRef(master).getObjectId());
    fsck(dst, B);
View Full Code Here

    new TestRepository(remoteRepository).packAndPrune();

    Repository dst = createBareRepository();
    assertFalse(dst.hasObject(A_txt));

    Transport t = Transport.open(dst, remoteURI);
    try {
      t.fetch(NullProgressMonitor.INSTANCE, mirror(master));
    } finally {
      t.close();
    }

    assertTrue(dst.hasObject(A_txt));
    assertEquals(B, dst.getRef(master).getObjectId());
    fsck(dst, B);
View Full Code Here

  public void testPushNotSupported() throws Exception {
    final TestRepository src = createTestRepository();
    final RevCommit Q = src.commit().create();
    final Repository db = src.getRepository();

    Transport t = Transport.open(db, remoteURI);
    try {
      try {
        t.push(NullProgressMonitor.INSTANCE, push(src, Q));
        fail("push incorrectly completed against a dumb server");
      } catch (NotSupportedException nse) {
        String exp = "remote does not support smart HTTP push";
        assertEquals(exp, nse.getMessage());
      }
    } finally {
      t.close();
    }
  }
View Full Code Here

  public FetchResult call() throws GitAPIException, InvalidRemoteException,
      org.eclipse.jgit.api.errors.TransportException {
    checkCallable();

    try {
      Transport transport = Transport.open(repo, remote);
      try {
        transport.setCheckFetchedObjects(checkFetchedObjects);
        transport.setRemoveDeletedRefs(removeDeletedRefs);
        transport.setDryRun(dryRun);
        if (tagOption != null)
          transport.setTagOpt(tagOption);
        transport.setFetchThin(thin);
        configure(transport);

        FetchResult result = transport.fetch(monitor, refSpecs);
        return result;
      } finally {
        transport.close();
      }
    } catch (NoRemoteRepositoryException e) {
      throw new InvalidRemoteException(MessageFormat.format(
          JGitText.get().invalidRemote, remote), e);
    } catch (TransportException e) {
View Full Code Here

  public Collection<Ref> call() throws GitAPIException,
      InvalidRemoteException,
      org.eclipse.jgit.api.errors.TransportException {
    checkCallable();

    Transport transport = null;
    FetchConnection fc = null;
    try {
      transport = Transport.open(repo, remote);
      transport.setOptionUploadPack(uploadPack);
      configure(transport);
      Collection<RefSpec> refSpecs = new ArrayList<RefSpec>(1);
      if (tags)
        refSpecs.add(new RefSpec(
            "refs/tags/*:refs/remotes/origin/tags/*"));
      if (heads)
        refSpecs.add(new RefSpec("refs/heads/*:refs/remotes/origin/*"));
      Collection<Ref> refs;
      Map<String, Ref> refmap = new HashMap<String, Ref>();
      fc = transport.openFetch();
      refs = fc.getRefs();
      if (refSpecs.isEmpty())
        for (Ref r : refs)
          refmap.put(r.getName(), r);
      else
        for (Ref r : refs)
          for (RefSpec rs : refSpecs)
            if (rs.matchSource(r)) {
              refmap.put(r.getName(), r);
              break;
            }
      return refmap.values();
    } catch (URISyntaxException e) {
      throw new InvalidRemoteException(MessageFormat.format(
          JGitText.get().invalidRemote, remote));
    } catch (NotSupportedException e) {
      throw new JGitInternalException(
          JGitText.get().exceptionCaughtDuringExecutionOfLsRemoteCommand,
          e);
    } catch (TransportException e) {
      throw new org.eclipse.jgit.api.errors.TransportException(
          e.getMessage(),
          e);
    } finally {
      if (fc != null)
        fc.close();
      if (transport != null)
        transport.close();
    }
  }
View Full Code Here

          Collection<RemoteRefUpdate> refUpdates = specification.getRefUpdates(uri);
          final EclipseGitProgressTransformer gitSubMonitor = new EclipseGitProgressTransformer(
              subMonitor);

          try {
            Transport transport = Transport.open(localDb, uri);
            transport.setDryRun(dryRun);
            transport.setTimeout(timeout);
            if (credentialsProvider != null)
              transport.setCredentialsProvider(credentialsProvider);
            PushResult result = transport.push(gitSubMonitor, refUpdates, out);

            operationResult.addOperationResult(result.getURI(), result);
            specification.addURIRefUpdates(result.getURI(), result.getRemoteUpdates());
          } catch (JGitInternalException e) {
            String errorMessage = e.getCause() != null ? e
View Full Code Here

  private static String fetchBundle(final Git git, final URI bundle, final String refName) throws IOException {
    final URL loc = bundle.toURL();
    final URIish uri = new URIish(loc);

    final Transport t = new TransportBundleStream(git.getRepository(), uri, loc.openStream());
    try {
      final FetchConnection src = t.openFetch();
      final Ref target = src.getRef(refName);

      final Collection<Ref> want = singleton(target);
      final Set<ObjectId> have = emptySet();
      src.fetch(NullProgressMonitor.INSTANCE, want, have);

      return target.getObjectId().getName();

    } finally {
      t.close();
    }
  }
View Full Code Here

  public Collection<Ref> call() throws Exception {
    checkCallable();

    try {
      Transport transport = Transport.open(repo, remote);
      transport.setOptionUploadPack(uploadPack);
      configure(transport);

      try {
        Collection<RefSpec> refSpecs = new ArrayList<RefSpec>(1);
        if (tags)
          refSpecs.add(new RefSpec(
              "refs/tags/*:refs/remotes/origin/tags/*"));
        if (heads)
          refSpecs.add(new RefSpec(
              "refs/heads/*:refs/remotes/origin/*"));
        Collection<Ref> refs;
        Map<String, Ref> refmap = new HashMap<String, Ref>();
        FetchConnection fc = transport.openFetch();
        try {
          refs = fc.getRefs();
          if (refSpecs.isEmpty())
            for (Ref r : refs)
              refmap.put(r.getName(), r);
          else
            for (Ref r : refs)
              for (RefSpec rs : refSpecs)
                if (rs.matchSource(r)) {
                  refmap.put(r.getName(), r);
                  break;
                }
        } finally {
          fc.close();
        }
        return refmap.values();

      } catch (TransportException e) {
        throw new JGitInternalException(
            JGitText.get().exceptionCaughtDuringExecutionOfLsRemoteCommand,
            e);
      } finally {
        transport.close();
      }
    } catch (URISyntaxException e) {
      throw new InvalidRemoteException(MessageFormat.format(
          JGitText.get().invalidRemote, remote));
    } catch (NotSupportedException e) {
View Full Code Here

TOP

Related Classes of org.eclipse.jgit.transport.Transport

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.