Exemple #1
0
  public void testReadTree() throws Exception {
    // Prepare tree
    GitIndex index = new GitIndex(db);
    writeTrashFile("a/b", "data:a/b");
    writeTrashFile("a:b", "data:a:b");
    writeTrashFile("a.b", "data:a.b");
    index.add(trash, new File(trash, "a/b"));
    index.add(trash, new File(trash, "a:b"));
    index.add(trash, new File(trash, "a.b"));
    index.write();

    ObjectId id = index.writeTree();
    System.out.println("wrote id " + id);
    assertEquals("c696abc3ab8e091c665f49d00eb8919690b3aec3", id.name());
    GitIndex index2 = new GitIndex(db);

    index2.readTree(db.mapTree(ObjectId.fromString("c696abc3ab8e091c665f49d00eb8919690b3aec3")));
    Entry[] members = index2.getMembers();
    assertEquals(3, members.length);
    assertEquals("a.b", members[0].getName());
    assertEquals("a/b", members[1].getName());
    assertEquals("a:b", members[2].getName());
    assertEquals(3, members.length);

    GitIndex indexr = new GitIndex(db);
    indexr.read();
    Entry[] membersr = indexr.getMembers();
    assertEquals(3, membersr.length);
    assertEquals("a.b", membersr[0].getName());
    assertEquals("a/b", membersr[1].getName());
    assertEquals("a:b", membersr[2].getName());
    assertEquals(3, membersr.length);

    if (canrungitstatus) assertEquals(0, system(trash, "git status"));
  }
Exemple #2
0
  public void testWriteTree() throws Exception {
    GitIndex index = new GitIndex(db);
    writeTrashFile("a/b", "data:a/b");
    writeTrashFile("a:b", "data:a:b");
    writeTrashFile("a.b", "data:a.b");
    index.add(trash, new File(trash, "a/b"));
    index.add(trash, new File(trash, "a:b"));
    index.add(trash, new File(trash, "a.b"));
    index.write();

    ObjectId id = index.writeTree();
    assertEquals("c696abc3ab8e091c665f49d00eb8919690b3aec3", id.name());

    writeTrashFile("a/b", "data:a/b");
    index.add(trash, new File(trash, "a/b"));

    if (canrungitstatus) assertEquals(0, system(trash, "git status"));
  }
Exemple #3
0
  public void testReadTree2() throws Exception {
    // Prepare a larger tree to test some odd cases in tree writing
    GitIndex index = new GitIndex(db);
    File f1 = writeTrashFile("a/a/a/a", "data:a/a/a/a");
    File f2 = writeTrashFile("a/c/c", "data:a/c/c");
    File f3 = writeTrashFile("a/b", "data:a/b");
    File f4 = writeTrashFile("a:b", "data:a:b");
    File f5 = writeTrashFile("a/d", "data:a/d");
    File f6 = writeTrashFile("a.b", "data:a.b");
    index.add(trash, f1);
    index.add(trash, f2);
    index.add(trash, f3);
    index.add(trash, f4);
    index.add(trash, f5);
    index.add(trash, f6);
    index.write();
    ObjectId id = index.writeTree();
    System.out.println("wrote id " + id);
    assertEquals("ba78e065e2c261d4f7b8f42107588051e87e18e9", id.name());
    GitIndex index2 = new GitIndex(db);

    index2.readTree(db.mapTree(ObjectId.fromString("ba78e065e2c261d4f7b8f42107588051e87e18e9")));
    Entry[] members = index2.getMembers();
    assertEquals(6, members.length);
    assertEquals("a.b", members[0].getName());
    assertEquals("a/a/a/a", members[1].getName());
    assertEquals("a/b", members[2].getName());
    assertEquals("a/c/c", members[3].getName());
    assertEquals("a/d", members[4].getName());
    assertEquals("a:b", members[5].getName());

    // reread and test
    GitIndex indexr = new GitIndex(db);
    indexr.read();
    Entry[] membersr = indexr.getMembers();
    assertEquals(6, membersr.length);
    assertEquals("a.b", membersr[0].getName());
    assertEquals("a/a/a/a", membersr[1].getName());
    assertEquals("a/b", membersr[2].getName());
    assertEquals("a/c/c", membersr[3].getName());
    assertEquals("a/d", membersr[4].getName());
    assertEquals("a:b", membersr[5].getName());
  }