public static RevTag readTag(@Nullable ObjectId id, DataInput in) throws IOException { final ObjectId commitId = readObjectId(in); final String name = in.readUTF(); final String message = in.readUTF(); final RevPerson tagger = readRevPerson(in); return RevTag.builder().build(id, name, commitId, message, tagger); }
public RevTag readTag(@Nullable ObjectId id, DataInput in) throws IOException { final ObjectId commitId = readObjectId(in); final String name = in.readUTF(); final String message = in.readUTF(); final RevPerson tagger = readRevPerson(in); return RevTag.builder().build(id, name, commitId, message, tagger); }
@Override protected RevTag read(@Nullable ObjectId id, BufferedReader reader, TYPE type) throws IOException { Preconditions.checkArgument(TYPE.TAG.equals(type), "Wrong type: %s", type.name()); String name = parseLine(requireLine(reader), "name"); String commitId = parseLine(requireLine(reader), "commitid"); String message = parseLine(requireLine(reader), "message"); RevPerson tagger = parsePerson(requireLine(reader)); return RevTag.builder().build(id, name, ObjectId.valueOf(commitId), message, tagger); }
/** * Executes the tag creation operation. * * @return the created tag * */ @Override protected RevTag _call() throws RuntimeException { checkState(name != null, "tag name was not provided"); final String tagRefPath = Ref.TAGS_PREFIX + name; checkArgument(!command(RefParse.class).setName(tagRefPath).call().isPresent(), "A tag named '" + name + "' already exists."); command(CheckRefFormat.class).setThrowsException(true).setRef(tagRefPath).call(); if (commitId == null) { final Optional<Ref> currHead = command(RefParse.class).setName(Ref.HEAD).call(); Preconditions.checkState(currHead.isPresent(), "Repository has no HEAD, can't create tag"); commitId = currHead.get().getObjectId(); } RevPerson tagger = resolveTagger(); message = message == null ? "" : message; final RevTag tag = RevTag.builder().name(name).commitId(commitId).message(message) .tagger(tagger).build(); objectDatabase().put(tag); Optional<Ref> branchRef = command(UpdateRef.class).setName(tagRefPath) .setNewValue(tag.getId()).call(); checkState(branchRef.isPresent()); return tag; }
public @Test void testTag() throws IOException { RevPerson tagger = RevPerson.builder().build("Gabriel Roldan", "gabe@example.com", 12345678, -3); RevTag tag; tag = RevTag.builder().build(null, "v1.0.0", RevObjectTestSupport.hashString("test"), "Version 1.0.0", tagger); testTag(tag); }
RevPerson tagger2 = RevPerson.builder().build("groldan", "groldan@boundlessgeo.com", 10000, 0); tag1 = RevTag.builder().build(null, "tag1", RevObjectTestSupport.hashString("fake commit id"), "message", tagger); tag2 = RevTag.builder().build(null, "tag2", RevObjectTestSupport.hashString("another fake commit id"), "another message", tagger2);