public static Set<String> loadVersionTagList(
     Repository repository, String versionTagNamePattern) {
   Set<String> versionTagList = new HashSet<String>();
   if (versionTagNamePattern != null) {
     versionTagList = new HashSet<String>();
     for (String tagName : repository.getTags().keySet()) {
       if (tagName.matches(versionTagNamePattern)) {
         versionTagList.add(tagName);
       }
     }
   } else {
     versionTagList = repository.getTags().keySet();
   }
   return versionTagList;
 }
Esempio n. 2
0
 private List<String> getTags() {
   RevCommit commit = getCommit().getRevCommit();
   Repository repository = getCommit().getRepository();
   List<String> tags = new ArrayList<String>();
   for (Ref tag : repository.getTags().values())
     if (commit.equals(repository.peel(tag).getPeeledObjectId()))
       tags.add(Repository.shortenRefName(tag.getName()));
   Collections.sort(tags);
   return tags;
 }
Esempio n. 3
0
  public List<Tag> getTagsOnCommit(final String revName) throws GitException, IOException {
    final Repository db = getRepository();
    final ObjectId commit = db.resolve(revName);
    final List<Tag> ret = new ArrayList<Tag>();

    for (final Map.Entry<String, Ref> tag : db.getTags().entrySet()) {
      final ObjectId tagId = tag.getValue().getObjectId();
      if (commit.equals(tagId)) ret.add(new Tag(tag.getKey(), tagId));
    }
    return ret;
  }
 @Before
 public void before() throws Exception {
   repository = lookupRepository(repositoryFile);
   for (String ref : repository.getTags().keySet()) {
     RefUpdate op = repository.updateRef(ref, true);
     op.setRefLogMessage(
         "tag deleted", //$NON-NLS-1$
         false);
     // we set the force update in order
     // to avoid having this rejected
     // due to minor issues
     op.setForceUpdate(true);
     op.delete();
   }
   revWalk = new RevWalk(repository);
 }
  protected static RevCommit resolveCommitIdByTagName(Repository repository, String tagName)
      throws IOException, GitAPIException {
    if (tagName == null || tagName.isEmpty()) return null;
    RevCommit revCommit = null;
    Map<String, Ref> tagMap = repository.getTags();
    Ref ref = tagMap.get(tagName);
    if (ref != null) {
      RevWalk walk = new RevWalk(repository);
      // some reduce memory effors as described in jgit user guide
      walk.setRetainBody(false);
      ObjectId from;

      from = repository.resolve("refs/heads/master");
      if (from == null) {
        Git git = new Git(repository);
        String lastTagName = git.describe().call();
        from = repository.resolve("refs/tags/" + lastTagName);
      }
      ObjectId to = repository.resolve("refs/remotes/origin/master");

      if (from == null) {
        throw new IllegalStateException("cannot determinate start commit");
      }
      walk.markStart(walk.parseCommit(from));
      walk.markUninteresting(walk.parseCommit(to));
      try {

        RevObject revObject = walk.parseAny(ref.getObjectId());
        if (revObject != null) {
          revCommit = walk.parseCommit(revObject.getId());
        }

      } finally {
        walk.close();
      }
    }

    return revCommit;
  }