List of usage examples for org.eclipse.jgit.lib Repository getTags
@Deprecated
@NonNull
public Map<String, Ref> getTags()
From source file:br.com.riselabs.cotonet.util.CodefaceHelper.java
License:Open Source License
private static void createMergeBasedTags(Project project) throws IOException { Map<String, String> tagsMap; MergeScenarioDAO dao = new MergeScenarioDAO(); Repository repository = project.getRepository(); List<MergeScenario> scenarios = new ArrayList<MergeScenario>(); try {/*from ww w .ja v a 2 s . co m*/ scenarios = dao.list(project.getID()); } catch (InvalidCotonetBeanException e1) { Logger.logStackTrace(e1); } try (Git git = new Git(repository)) { // remove existing tags for (String tag : repository.getTags().keySet()) { git.tagDelete().setTags(tag).call(); } } catch (GitAPIException e) { Logger.logStackTrace(e); } tagsMap = new HashMap<String, String>(); for (MergeScenario scenario : scenarios) { String tagT = project.getName() + "T" + scenario.getID(); String tagB = project.getName() + "B" + scenario.getID(); tagsMap.put(tagB, scenario.getSHA1Merge()); RevCommit earlier = getEarlierCommit(project.getRepository(), scenario.getSHA1Merge(), 3); tagsMap.put(tagT, earlier.getName()); // prepare test-repository try (Git git = new Git(repository)) { try (RevWalk walk = new RevWalk(repository)) { ObjectId refCommitID = ObjectId.fromString(scenario.getSHA1Merge()); RevCommit refCommit = walk.parseCommit(refCommitID); git.tag().setObjectId(refCommit).setName(tagB).call(); git.tag().setObjectId(earlier).setName(tagT).call(); walk.dispose(); } catch (ConcurrentRefUpdateException e) { e.printStackTrace(); } catch (InvalidTagNameException e) { e.printStackTrace(); } catch (NoHeadException e) { e.printStackTrace(); } catch (GitAPIException e) { e.printStackTrace(); } } catch (RevisionSyntaxException e) { Logger.logStackTrace(e); } } try { createTagToSHA1MappingFile(project.getName(), tagsMap); } catch (NullPointerException | EmptyContentException e) { Logger.logStackTrace(e); } }
From source file:com.gitblit.utils.JGitUtils.java
License:Apache License
/** * this method creates an incremental revision number as a tag according to * the amount of already existing tags, which start with a defined prefix. * * @param repository/*from w ww . j ava2s .c o m*/ * @param objectId * @param tagger * @param prefix * @param intPattern * @param message * @return true if operation was successful, otherwise false */ public static boolean createIncrementalRevisionTag(Repository repository, String objectId, PersonIdent tagger, String prefix, String intPattern, String message) { boolean result = false; Iterator<Entry<String, Ref>> iterator = repository.getTags().entrySet().iterator(); long lastRev = 0; while (iterator.hasNext()) { Entry<String, Ref> entry = iterator.next(); if (entry.getKey().startsWith(prefix)) { try { long val = Long.parseLong(entry.getKey().substring(prefix.length())); if (val > lastRev) { lastRev = val; } } catch (Exception e) { // this tag is NOT an incremental revision tag } } } DecimalFormat df = new DecimalFormat(intPattern); result = createTag(repository, objectId, tagger, prefix + df.format((lastRev + 1)), message); return result; }
From source file:com.meltmedia.cadmium.core.git.GitService.java
License:Apache License
public String getBranchName() throws Exception { Repository repository = git.getRepository(); if (ObjectId.isId(repository.getFullBranch()) && repository.getFullBranch().equals(repository.resolve("HEAD").getName())) { RevWalk revs = null;// w w w . ja va 2 s . c o m try { log.trace("Trying to resolve tagname: {}", repository.getFullBranch()); ObjectId tagRef = ObjectId.fromString(repository.getFullBranch()); revs = new RevWalk(repository); RevCommit commit = revs.parseCommit(tagRef); Map<String, Ref> allTags = repository.getTags(); for (String key : allTags.keySet()) { Ref ref = allTags.get(key); RevTag tag = revs.parseTag(ref.getObjectId()); log.trace("Checking ref {}, {}", commit.getName(), tag.getObject()); if (tag.getObject().equals(commit)) { return key; } } } catch (Exception e) { log.warn("Invalid id: {}", repository.getFullBranch(), e); } finally { revs.release(); } } return repository.getBranch(); }
From source file:fr.obeo.ariadne.ide.connector.git.internal.explorer.GitExplorer.java
License:Open Source License
/** * Returns the Ariadne repository that we will use to map the Git repository analyzed. * /*from w ww. j a va 2s . c om*/ * @param gitRepository * The Git repository * @param monitor * The progress monitor * @return The Ariadne repository that we will use to map the Git repository analyzed. */ private fr.obeo.ariadne.model.scm.Repository getOrCreateRepository(Repository gitRepository, IProgressMonitor monitor) { monitor.subTask(AriadneGitConnectorMessage.getString("GitExplorer.InitializingRepository")); //$NON-NLS-1$ monitor.worked(1); fr.obeo.ariadne.model.scm.Repository ariadneRepository = null; String repositoryName = gitRepository.getDirectory().getParentFile().getName(); Category category = this.ariadneProject.getCategory(); Organization organization = category.getOrganization(); if (organization != null) { List<fr.obeo.ariadne.model.scm.Repository> repositories = organization.getRepositories(); for (fr.obeo.ariadne.model.scm.Repository aRepository : repositories) { if (repositoryName.equals(aRepository.getName())) { ariadneRepository = aRepository; // Clear everything List<Branch> branches = aRepository.getBranches(); for (Branch branch : branches) { EcoreUtil.remove(branch); } List<Commit> commits = aRepository.getCommits(); for (Commit commit : commits) { EcoreUtil.remove(commit); } List<Tag> tags = aRepository.getTags(); for (Tag tag : tags) { EcoreUtil.remove(tag); } } } } if (ariadneRepository == null) { ariadneRepository = ScmFactory.eINSTANCE.createRepository(); ariadneRepository.setName(repositoryName); if (organization != null) { if (!this.shouldSaveInProjectResource) { final String fileExtension = "ariadnescm"; //$NON-NLS-1$ URI uri = EcoreUtil.getURI(this.ariadneProject).trimFragment().trimFileExtension() .appendFileExtension(fileExtension); Resource resource = this.resourceSet.createResource(uri); resource.getContents().add(ariadneRepository); } organization.getRepositories().add(ariadneRepository); this.ariadneProject.getRepositories().add(ariadneRepository); } } return ariadneRepository; }
From source file:fr.obeo.ariadne.ide.connector.git.internal.explorer.GitExplorer.java
License:Open Source License
/** * Computes the references, branches and tags of the Git repository and map them in the Ariadne * repository.// w ww.j a va 2 s . c o m * * @param gitRepository * The Git repository * @param ariadneRepository * The Ariadne repository * @param monitor * The progress monitor */ private void computeReferences(Repository gitRepository, fr.obeo.ariadne.model.scm.Repository ariadneRepository, IProgressMonitor monitor) { monitor.subTask(AriadneGitConnectorMessage.getString("GitExplorer.ComputingReferences")); //$NON-NLS-1$ Map<String, Ref> allRefs = gitRepository.getAllRefs(); for (Entry<String, Ref> entry : allRefs.entrySet()) { String key = entry.getKey(); Ref reference = entry.getValue(); ObjectId linkedObject = null; if (reference.isPeeled()) { linkedObject = this.getLinkedObject(reference); } else { if (reference.isSymbolic()) { linkedObject = this.getLinkedObject(reference.getLeaf()); } else { linkedObject = this.getLinkedObject(reference); } } RevCommit commit = null; Set<RevCommit> keySet = this.commit2ariadneCommit.keySet(); for (RevCommit revCommit : keySet) { if (revCommit.getId().equals(linkedObject)) { commit = revCommit; } } if (commit != null) { if (gitRepository.getTags().containsKey(key)) { // tag Tag tag = ScmFactory.eINSTANCE.createTag(); tag.setCommit(this.commit2ariadneCommit.get(commit)); tag.setName(reference.getName()); ariadneRepository.getTags().add(tag); } else { // branch Branch branch = ScmFactory.eINSTANCE.createBranch(); branch.setCommit(this.commit2ariadneCommit.get(commit)); branch.setName(reference.getName()); ariadneRepository.getBranches().add(branch); } } else { // A branch linked to something else than a commit... } monitor.worked(1); } }
From source file:info.plichta.maven.plugins.changelog.RepositoryProcessor.java
License:Apache License
private Map<ObjectId, TagWrapper> extractTags(Repository repository, RevWalk walk) throws IOException { final Map<ObjectId, TagWrapper> tagMapping = new HashMap<>(); for (Entry<String, Ref> entry : repository.getTags().entrySet()) { String name = entry.getKey(); final Matcher matcher = tagPattern.matcher(name); if (matcher.matches()) { name = matcher.group(1);/*www . j av a2 s . c o m*/ tagMapping.put(walk.parseCommit(entry.getValue().getObjectId()), new TagWrapper(name)); } } return tagMapping; }
From source file:jetbrains.buildServer.buildTriggers.vcs.git.tests.GitLabelingSupportTest.java
License:Apache License
public void testLabels() throws Exception { VcsRoot root = vcsRoot().withFetchUrl(getRemoteRepositoryDir("repo.git")).build(); // ensure that all revisions reachable from master are fetched buildGit().getLabelingSupport().label("test_label", "2276eaf76a658f96b5cf3eb25f3e1fda90f6b653", root, CheckoutRules.DEFAULT);// www. j a va2 s. c om Repository r = new RepositoryBuilder().setGitDir(getRemoteRepositoryDir("repo.git")).build(); RevWalk revWalk = new RevWalk(r); try { Ref tagRef = r.getTags().get("test_label"); RevTag t = revWalk.parseTag(tagRef.getObjectId()); assertEquals(t.getObject().name(), "2276eaf76a658f96b5cf3eb25f3e1fda90f6b653"); } finally { r.close(); } }
From source file:jetbrains.buildServer.buildTriggers.vcs.git.tests.GitLabelingSupportTest.java
License:Apache License
@Test public void tag_with_specified_username() throws Exception { VcsRoot root = vcsRoot().withFetchUrl(GitUtils.toURL(getRemoteRepositoryDir("repo.git"))) .withUsernameForTags("John Doe <john.doe@some.org>").build(); buildGit().getLabelingSupport().label("label_with_specified_username", "465ad9f630e451b9f2b782ffb09804c6a98c4bb9", root, CheckoutRules.DEFAULT); Repository r = new RepositoryBuilder().setGitDir(getRemoteRepositoryDir("repo.git")).build(); RevWalk revWalk = new RevWalk(r); try {// w w w . ja v a2 s . com Ref tagRef = r.getTags().get("label_with_specified_username"); RevTag t = revWalk.parseTag(tagRef.getObjectId()); PersonIdent tagger = t.getTaggerIdent(); assertEquals(tagger.getName(), "John Doe"); assertEquals(tagger.getEmailAddress(), "john.doe@some.org"); } finally { revWalk.release(); r.close(); } }
From source file:net.erdfelt.android.sdkfido.git.internal.GitInfo.java
License:Apache License
private static void infoTags(Repository db) { System.out.printf("%nAll Tags (%d)%n", db.getTags().size()); Map<String, Ref> sorted = new TreeMap<String, Ref>(); sorted.putAll(db.getTags());/* ww w.j ava 2 s . co m*/ int maxRefLength = 0; for (Entry<String, Ref> entry : sorted.entrySet()) { maxRefLength = Math.max(maxRefLength, entry.getValue().getName().length()); } for (Entry<String, Ref> entry : db.getTags().entrySet()) { Ref ref = entry.getValue(); System.out.printf("%-" + maxRefLength + "s %s%n", ref.getName(), ref.getObjectId().abbreviate(ABBREV_LEN).name()); } }
From source file:org.eclipse.egit.internal.relengtools.ShowInfoHandler.java
License:Open Source License
private void deeplinkTest() throws Exception { final IProject deeplink = ResourcesPlugin.getWorkspace().getRoot() .getProject("org.eclipse.e4.core.deeplink"); System.out.println("\nTest for project: " + deeplink); final RepositoryMapping rm = RepositoryMapping.getMapping(deeplink); final Repository repo = rm.getRepository(); final RevCommit expectedLastCommit = getCommit(repo, "d660f0a07c8ff16c9b46b3d69bc1c271b2cf4aba"); final RevCommit latestCommit = getLatestCommitFor(rm, repo, deeplink); System.out.println(expectedLastCommit.equals(latestCommit) + " Latest commit: expected: " + expectedLastCommit + "\n\tgot: " + latestCommit); final Map<String, Ref> tags = repo.getTags(); final Set<Ref> expectedTags = new HashSet<Ref>(Arrays.asList(tags.get(NEW_TAG))); final Set<Ref> twoTags = getTagsForCommit(repo, expectedLastCommit); System.out.println(//www. j a v a2 s . c om expectedTags.equals(twoTags) + " Found tags: expected: " + expectedTags + "\n\tgot: " + twoTags); final Set<Ref> tagsContainingCommit = getTagsContainingCommit(repo, expectedLastCommit); System.out.println(expectedTags.equals(tagsContainingCommit) + " Found tags containing commit " + expectedLastCommit + ":\n\texpected: " + expectedTags + "\n\tgot: " + tagsContainingCommit); }