Package org.eclipse.jgit.lib

Examples of org.eclipse.jgit.lib.TagBuilder


    RepositoryState state = repo.getRepositoryState();
    processOptions(state);

    try {
      // create the tag object
      TagBuilder newTag = new TagBuilder();
      newTag.setTag(name);
      newTag.setMessage(message);
      newTag.setTagger(tagger);

      // if no id is set, we should attempt to use HEAD
      if (id == null) {
        ObjectId objectId = repo.resolve(Constants.HEAD + "^{commit}");
        if (objectId == null)
          throw new NoHeadException(
              JGitText.get().tagOnRepoWithoutHEADCurrentlyNotSupported);

        newTag.setObjectId(objectId, Constants.OBJ_COMMIT);
      } else {
        newTag.setObjectId(id);
      }

      // write the tag object
      ObjectInserter inserter = repo.newObjectInserter();
      try {
        ObjectId tagId = inserter.insert(newTag);
        inserter.flush();

        RevWalk revWalk = new RevWalk(repo);
        try {
          String refName = Constants.R_TAGS + newTag.getTag();
          RefUpdate tagRef = repo.updateRef(refName);
          tagRef.setNewObjectId(tagId);
          tagRef.setForceUpdate(forceUpdate);
          tagRef.setRefLogMessage("tagged " + name, false);
          Result updateResult = tagRef.update(revWalk);
          switch (updateResult) {
          case NEW:
          case FORCED:
            return repo.getRef(refName);
          case LOCK_FAILURE:
            throw new ConcurrentRefUpdateException(
                JGitText.get().couldNotLockHEAD,
                tagRef.getRef(), updateResult);
          case REJECTED:
            throw new RefAlreadyExistsException(
                MessageFormat.format(
                    JGitText.get().tagAlreadyExists,
                    newTag.toString()));
          default:
            throw new JGitInternalException(MessageFormat.format(
                JGitText.get().updatingRefFailed, refName,
                newTag.toString(), updateResult));
          }

        } finally {
          revWalk.release();
        }
View Full Code Here


    RepositoryState state = repo.getRepositoryState();
    processOptions(state);

    try {
      // create the tag object
      TagBuilder newTag = new TagBuilder();
      newTag.setTag(name);
      newTag.setMessage(message);
      newTag.setTagger(tagger);

      // if no id is set, we should attempt to use HEAD
      if (id == null) {
        ObjectId objectId = repo.resolve(Constants.HEAD + "^{commit}");
        if (objectId == null)
          throw new NoHeadException(
              JGitText.get().tagOnRepoWithoutHEADCurrentlyNotSupported);

        newTag.setObjectId(objectId, Constants.OBJ_COMMIT);
      } else {
        newTag.setObjectId(id);
      }

      // write the tag object
      ObjectInserter inserter = repo.newObjectInserter();
      try {
        ObjectId tagId = inserter.insert(newTag);
        inserter.flush();

        RevWalk revWalk = new RevWalk(repo);
        try {
          RevTag revTag = revWalk.parseTag(tagId);
          String refName = Constants.R_TAGS + newTag.getTag();
          RefUpdate tagRef = repo.updateRef(refName);
          tagRef.setNewObjectId(tagId);
          tagRef.setForceUpdate(forceUpdate);
          tagRef.setRefLogMessage("tagged " + name, false);
          Result updateResult = tagRef.update(revWalk);
          switch (updateResult) {
          case NEW:
          case FORCED:
            return revTag;
          case LOCK_FAILURE:
            throw new ConcurrentRefUpdateException(
                JGitText.get().couldNotLockHEAD,
                tagRef.getRef(), updateResult);
          default:
            throw new JGitInternalException(MessageFormat.format(
                JGitText.get().updatingRefFailed, refName,
                newTag.toString(), updateResult));
          }

        } finally {
          revWalk.release();
        }
View Full Code Here

            "SimpleTag[" + name + " : " + id //$NON-NLS-1$ //$NON-NLS-2$
                + "]"); //$NON-NLS-1$
      }

      // create the tag object
      TagBuilder newTag = new TagBuilder();
      newTag.setTag(name);
      newTag.setMessage(message);
      newTag.setTagger(tagger);
      newTag.setObjectId(id);

      // write the tag object
      ObjectInserter inserter = repo.newObjectInserter();
      try {
        ObjectId tagId = inserter.insert(newTag);
        inserter.flush();

        String tag = newTag.getTag();
        return updateTagRef(tagId, revWalk, tag, newTag.toString());

      } finally {
        inserter.release();
      }
View Full Code Here

   *            object the tag should be pointed at.
   * @return the annotated tag object.
   * @throws Exception
   */
  public RevTag tag(final String name, final RevObject dst) throws Exception {
    final TagBuilder t = new TagBuilder();
    t.setObjectId(dst);
    t.setTag(name);
    t.setTagger(new PersonIdent(committer, new Date(now)));
    t.setMessage("");
    ObjectId id;
    try {
      id = inserter.insert(t);
      inserter.flush();
    } finally {
View Full Code Here

  }

  @Test
  public void test020_createBlobTag() throws IOException {
    final ObjectId emptyId = insertEmptyBlob();
    final TagBuilder t = new TagBuilder();
    t.setObjectId(emptyId, Constants.OBJ_BLOB);
    t.setTag("test020");
    t.setTagger(new PersonIdent(author, 1154236443000L, -4 * 60));
    t.setMessage("test020 tagged\n");
    ObjectId actid = insertTag(t);
    assertEquals("6759556b09fbb4fd8ae5e315134481cc25d46954", actid.name());

    RevTag mapTag = parseTag(actid);
    assertEquals(Constants.OBJ_BLOB, mapTag.getObject().getType());
View Full Code Here

    final ObjectId emptyId = insertEmptyBlob();
    final Tree almostEmptyTree = new Tree(db);
    almostEmptyTree.addEntry(new FileTreeEntry(almostEmptyTree, emptyId,
        "empty".getBytes(), false));
    final ObjectId almostEmptyTreeId = insertTree(almostEmptyTree);
    final TagBuilder t = new TagBuilder();
    t.setObjectId(almostEmptyTreeId, Constants.OBJ_TREE);
    t.setTag("test021");
    t.setTagger(new PersonIdent(author, 1154236443000L, -4 * 60));
    t.setMessage("test021 tagged\n");
    ObjectId actid = insertTag(t);
    assertEquals("b0517bc8dbe2096b419d42424cd7030733f4abe5", actid.name());

    RevTag mapTag = parseTag(actid);
    assertEquals(Constants.OBJ_TREE, mapTag.getObject().getType());
View Full Code Here

    almostEmptyCommit.setCommitter(new PersonIdent(author, 1154236443000L,
        -2 * 60));
    almostEmptyCommit.setMessage("test022\n");
    almostEmptyCommit.setTreeId(almostEmptyTreeId);
    ObjectId almostEmptyCommitId = insertCommit(almostEmptyCommit);
    final TagBuilder t = new TagBuilder();
    t.setObjectId(almostEmptyCommitId, Constants.OBJ_COMMIT);
    t.setTag("test022");
    t.setTagger(new PersonIdent(author, 1154236443000L, -4 * 60));
    t.setMessage("test022 tagged\n");
    ObjectId actid = insertTag(t);
    assertEquals("0ce2ebdb36076ef0b38adbe077a07d43b43e3807", actid.name());

    RevTag mapTag = parseTag(actid);
    assertEquals(Constants.OBJ_COMMIT, mapTag.getObject().getType());
View Full Code Here

  }

  @Test
  public void testParse_PublicParseMethod() throws CorruptObjectException {
    ObjectInserter.Formatter fmt = new ObjectInserter.Formatter();
    TagBuilder src = new TagBuilder();
    src.setObjectId(fmt.idFor(Constants.OBJ_TREE, new byte[] {}),
        Constants.OBJ_TREE);
    src.setTagger(committer);
    src.setTag("a.test");
    src.setMessage("Test tag\n\nThis is a test.\n");

    RevTag p = RevTag.parse(src.build());
    assertEquals(src.getObjectId(), p.getObject());
    assertEquals(committer, p.getTaggerIdent());
    assertEquals("a.test", p.getTagName());
    assertEquals("Test tag", p.getShortMessage());
    assertEquals(src.getMessage(), p.getFullMessage());
  }
View Full Code Here

    RepositoryState state = repo.getRepositoryState();
    processOptions(state);

    try {
      // create the tag object
      TagBuilder newTag = new TagBuilder();
      newTag.setTag(name);
      newTag.setMessage(message);
      newTag.setTagger(tagger);

      // if no id is set, we should attempt to use HEAD
      if (id == null) {
        ObjectId objectId = repo.resolve(Constants.HEAD + "^{commit}");
        if (objectId == null)
          throw new NoHeadException(
              JGitText.get().tagOnRepoWithoutHEADCurrentlyNotSupported);

        newTag.setObjectId(objectId, Constants.OBJ_COMMIT);
      } else {
        newTag.setObjectId(id);
      }

      // write the tag object
      ObjectInserter inserter = repo.newObjectInserter();
      try {
        ObjectId tagId = inserter.insert(newTag);
        inserter.flush();

        RevWalk revWalk = new RevWalk(repo);
        try {
          String refName = Constants.R_TAGS + newTag.getTag();
          RefUpdate tagRef = repo.updateRef(refName);
          tagRef.setNewObjectId(tagId);
          tagRef.setForceUpdate(forceUpdate);
          tagRef.setRefLogMessage("tagged " + name, false);
          Result updateResult = tagRef.update(revWalk);
          switch (updateResult) {
          case NEW:
          case FORCED:
            return repo.getRef(refName);
          case LOCK_FAILURE:
            throw new ConcurrentRefUpdateException(
                JGitText.get().couldNotLockHEAD,
                tagRef.getRef(), updateResult);
          default:
            throw new JGitInternalException(MessageFormat.format(
                JGitText.get().updatingRefFailed, refName,
                newTag.toString(), updateResult));
          }

        } finally {
          revWalk.release();
        }
View Full Code Here

  }

  private void createTag(final RefSpec spec, final String textForTag,
      RevCommit commit, IProgressMonitor monitor) throws CoreException {
    monitor.setTaskName(UIText.FetchGerritChangePage_CreatingTagTaskName);
    final TagBuilder tag = new TagBuilder();
    PersonIdent personIdent = new PersonIdent(repository);

    tag.setTag(textForTag);
    tag.setTagger(personIdent);
    tag.setMessage(NLS.bind(
        UIText.FetchGerritChangePage_GeneratedTagMessage,
        spec.getSource()));
    tag.setObjectId(commit);
    new TagOperation(repository, tag, false).execute(monitor);
    monitor.worked(1);
  }
View Full Code Here

TOP

Related Classes of org.eclipse.jgit.lib.TagBuilder

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.