Package org.eclipse.jgit.revwalk

Examples of org.eclipse.jgit.revwalk.RevBlob


  }

  @Test
  public void testNonMarkingInputStream() throws Exception {
    TestRepository d = new TestRepository<Repository>(db);
    RevBlob a = d.blob("a");

    TemporaryBuffer.Heap pack = new TemporaryBuffer.Heap(1024);
    packHeader(pack, 1);
    pack.write((Constants.OBJ_REF_DELTA) << 4 | 4);
    a.copyRawTo(pack);
    deflate(pack, new byte[] { 0x1, 0x1, 0x1, 'b' });
    digest(pack);

    InputStream in = new ByteArrayInputStream(pack.toByteArray()) {
      @Override
View Full Code Here


  }

  @Test
  public void testDataAfterPackFooterSingleRead() throws Exception {
    TestRepository d = new TestRepository<Repository>(db);
    RevBlob a = d.blob("a");

    TemporaryBuffer.Heap pack = new TemporaryBuffer.Heap(32*1024);
    packHeader(pack, 1);
    pack.write((Constants.OBJ_REF_DELTA) << 4 | 4);
    a.copyRawTo(pack);
    deflate(pack, new byte[] { 0x1, 0x1, 0x1, 'b' });
    digest(pack);

    byte packData[] = pack.toByteArray();
    byte streamData[] = new byte[packData.length + 1];
View Full Code Here

  @Test
  public void testDataAfterPackFooterSplitHeaderRead() throws Exception {
    TestRepository d = new TestRepository<Repository>(db);
    final byte[] data = Constants.encode("a");
    RevBlob b = d.blob(data);

    int objects = 248;
    TemporaryBuffer.Heap pack = new TemporaryBuffer.Heap(32 * 1024);
    packHeader(pack, objects + 1);
    int offset = 13;
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < offset; i++)
      sb.append(i);
    offset = sb.toString().length();
    int lenByte = (Constants.OBJ_BLOB) << 4 | (offset & 0x0F);
    offset >>= 4;
    if (offset > 0)
      lenByte |= 1 << 7;
    pack.write(lenByte);
    while (offset > 0) {
      lenByte = offset & 0x7F;
      offset >>= 6;
      if (offset > 0)
        lenByte |= 1 << 7;
      pack.write(lenByte);
    }
    deflate(pack, Constants.encode(sb.toString()));

    for (int i = 0; i < objects; i++) {
      // The last pack header written falls across the 8192 byte boundary
      // between [8189:8210]
      pack.write((Constants.OBJ_REF_DELTA) << 4 | 4);
      b.copyRawTo(pack);
      deflate(pack, new byte[] { 0x1, 0x1, 0x1, 'b' });
    }
    digest(pack);

    byte packData[] = pack.toByteArray();
View Full Code Here

    }
  }

  void modifyIndex(IndexState indexState, String path, String other)
      throws Exception {
    RevBlob blob;
    switch (indexState) {
    case Missing:
      setIndex(null, path);
      break;
    case SameAsHead:
View Full Code Here

    FileRepository repo = createBareRepository();

    TestRepository<FileRepository> testRepo = new TestRepository<FileRepository>(
        repo);
    BranchBuilder bb = testRepo.branch("refs/heads/master");
    RevBlob contentA = testRepo.blob("A");
    RevCommit c1 = bb.commit().add("f", contentA).create();
    testRepo.getRevWalk().parseHeaders(c1);
    PackIndex pf1 = writePack(repo, Collections.singleton(c1),
        Collections.<ObjectIdSet> emptySet());
    assertContent(
        pf1,
        Arrays.asList(c1.getId(), c1.getTree().getId(),
            contentA.getId()));
    RevBlob contentB = testRepo.blob("B");
    RevCommit c2 = bb.commit().add("f", contentB).create();
    testRepo.getRevWalk().parseHeaders(c2);
    PackIndex pf2 = writePack(repo, Collections.singleton(c2),
        Collections.singleton(objectIdSet(pf1)));
    assertContent(
        pf2,
        Arrays.asList(c2.getId(), c2.getTree().getId(),
            contentB.getId()));
  }
View Full Code Here

  @Test
  public void testUsingUnknownBlobFails() throws Exception {
    // Try to use the 'n' blob that is not on the server.
    //
    TestRepository<Repository> s = new TestRepository<Repository>(src);
    RevBlob n = s.blob("n");
    RevCommit N = s.commit().parent(B).add("q", n).create();

    // But don't include it in the pack.
    //
    final TemporaryBuffer.Heap pack = new TemporaryBuffer.Heap(1024);
    packHeader(pack, 2);
    copy(pack, src.open(N));
    copy(pack,src.open(s.parseBody(N).getTree()));
    digest(pack);

    final TemporaryBuffer.Heap inBuf = new TemporaryBuffer.Heap(1024);
    final PacketLineOut inPckLine = new PacketLineOut(inBuf);
    inPckLine.writeString(ObjectId.zeroId().name() + ' ' + N.name() + ' '
        + "refs/heads/s" + '\0'
        + BasePackPushConnection.CAPABILITY_REPORT_STATUS);
    inPckLine.end();
    pack.writeTo(inBuf, PM);

    final TemporaryBuffer.Heap outBuf = new TemporaryBuffer.Heap(1024);
    final ReceivePack rp = new ReceivePack(dst);
    rp.setCheckReceivedObjects(true);
    rp.setCheckReferencedObjectsAreReachable(true);
    rp.setAdvertiseRefsHook(new HidePrivateHook());
    try {
      receive(rp, inBuf, outBuf);
      fail("Expected UnpackException");
    } catch (UnpackException failed) {
      Throwable err = failed.getCause();
      assertTrue(err instanceof MissingObjectException);
      MissingObjectException moe = (MissingObjectException) err;
      assertEquals(n, moe.getObjectId());
    }

    final PacketLineIn r = asPacketLineIn(outBuf);
    String master = r.readString();
    int nul = master.indexOf('\0');
    assertTrue("has capability list", nul > 0);
    assertEquals(B.name() + ' ' + R_MASTER, master.substring(0, nul));
    assertSame(PacketLineIn.END, r.readString());

    assertEquals("unpack error Missing blob " + n.name(), r.readString());
    assertEquals("ng refs/heads/s n/a (unpacker error)", r.readString());
    assertSame(PacketLineIn.END, r.readString());
  }
View Full Code Here

    super.tearDown();
  }

  @Test
  public void testReadFlatTwoNotes() throws Exception {
    RevBlob a = tr.blob("a");
    RevBlob b = tr.blob("b");
    RevBlob data1 = tr.blob("data1");
    RevBlob data2 = tr.blob("data2");

    RevCommit r = tr.commit() //
        .add(a.name(), data1) //
        .add(b.name(), data2) //
        .create();
View Full Code Here

    assertNull("no note for data1", map.get(data1));
  }

  @Test
  public void testReadFanout2_38() throws Exception {
    RevBlob a = tr.blob("a");
    RevBlob b = tr.blob("b");
    RevBlob data1 = tr.blob("data1");
    RevBlob data2 = tr.blob("data2");

    RevCommit r = tr.commit() //
        .add(fanout(2, a.name()), data1) //
        .add(fanout(2, b.name()), data2) //
        .create();
View Full Code Here

    assertNull("no note for data1", map.get(data1));
  }

  @Test
  public void testReadFanout2_2_36() throws Exception {
    RevBlob a = tr.blob("a");
    RevBlob b = tr.blob("b");
    RevBlob data1 = tr.blob("data1");
    RevBlob data2 = tr.blob("data2");

    RevCommit r = tr.commit() //
        .add(fanout(4, a.name()), data1) //
        .add(fanout(4, b.name()), data2) //
        .create();
View Full Code Here

    assertNull("no note for data1", map.get(data1));
  }

  @Test
  public void testReadFullyFannedOut() throws Exception {
    RevBlob a = tr.blob("a");
    RevBlob b = tr.blob("b");
    RevBlob data1 = tr.blob("data1");
    RevBlob data2 = tr.blob("data2");

    RevCommit r = tr.commit() //
        .add(fanout(38, a.name()), data1) //
        .add(fanout(38, b.name()), data2) //
        .create();
View Full Code Here

TOP

Related Classes of org.eclipse.jgit.revwalk.RevBlob

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.