private void setContent() { if (build.getChangeSet().getItems().length == 0) { message.setContent(this.getResultString()); } else { StringBuilder changes = new StringBuilder(); for (Iterator<? extends ChangeLogSet.Entry> i = build.getChangeSet().iterator(); i.hasNext(); ) { ChangeLogSet.Entry change = i.next(); changes.append("\n"); changes.append(change.getMsg()); changes.append(" - "); changes.append(change.getAuthor()); } message.setContent(String.format("%s%n%s", this.getResultString(), changes.toString())); } }
@Bug(16332) @Test public void parseAddressFromChangeLog() throws Exception { File changelogXml = tmp.newFile("changelog.xml"); PrintWriter pw = new PrintWriter(changelogXml, "UTF-8"); try { pw.println("<?xml version='1.0' encoding='UTF-8'?>"); pw.println("<changesets>"); pw.println("<changeset author='joe.schmo <joe.schmo@example.com>'/>"); pw.println("</changesets>"); pw.flush(); } finally { pw.close(); } ChangeLogParser clp = new MercurialChangeLogParser(null); ChangeLogSet<? extends ChangeLogSet.Entry> cls = clp.parse(null, null, changelogXml); Iterator<? extends ChangeLogSet.Entry> it = cls.iterator(); assertTrue(it.hasNext()); ChangeLogSet.Entry entry = it.next(); assertFalse(it.hasNext()); User author = entry.getAuthor(); assertEquals("joe.schmo _joe.schmo@example.com_", author.getId()); assertEquals("joe.schmo <joe.schmo@example.com>", author.getFullName()); }
m.touchAndCommit(repo, "dir2/f1"); Iterator<? extends ChangeLogSet.Entry> it = p.scheduleBuild2(0).get() .getChangeSet().iterator(); assertTrue(it.hasNext()); ChangeLogSet.Entry entry = it.next(); it = p.scheduleBuild2(0).get().getChangeSet().iterator(); assertTrue(it.hasNext()); entry = it.next(); it = p.scheduleBuild2(0).get().getChangeSet().iterator(); assertTrue(it.hasNext()); entry = it.next(); it = p.scheduleBuild2(0).get().getChangeSet().iterator(); assertTrue(it.hasNext()); entry = it.next();
@Bug(3602) @Test public void subdirectoryCheckout() throws Exception { FreeStyleProject p = j.createFreeStyleProject(); p.setScm(new MercurialSCM(hgInstallation(), repo.getPath(), null, null, "repo", null, false)); m.hg(repo, "init"); m.touchAndCommit(repo, "f1"); m.buildAndCheck(p, "repo/f1"); m.touchAndCommit(repo, "f2"); m.buildAndCheck(p, "repo/f2"); m.touchAndCommit(repo, "f3"); Iterator<? extends ChangeLogSet.Entry> it = p.scheduleBuild2(0).get() .getChangeSet().iterator(); assertTrue(it.hasNext()); ChangeLogSet.Entry entry = it.next(); assertEquals(Collections.singleton("f3"), new HashSet<String>(entry.getAffectedPaths())); assertFalse(it.hasNext()); }
@Bug(6517) @Test public void fileListOmittedForMerges() throws Exception { FreeStyleProject p = j.createFreeStyleProject(); p.setScm(new MercurialSCM(hgInstallation(), repo.getPath(), null, null, null, null, false)); m.hg(repo, "init"); m.touchAndCommit(repo, "f1"); p.scheduleBuild2(0).get(); m.hg(repo, "up", "null"); m.touchAndCommit(repo, "f2"); m.hg(repo, "merge"); m.hg(repo, "commit", "--message", "merge"); Iterator<? extends ChangeLogSet.Entry> it = p.scheduleBuild2(0).get() .getChangeSet().iterator(); assertTrue(it.hasNext()); ChangeLogSet.Entry entry = it.next(); assertTrue(((MercurialChangeSet) entry).isMerge()); assertEquals(Collections.emptySet(), new HashSet<String>(entry.getAffectedPaths())); assertTrue(it.hasNext()); entry = it.next(); assertFalse(((MercurialChangeSet) entry).isMerge()); assertEquals(Collections.singleton("f2"), new HashSet<String>(entry.getAffectedPaths())); assertFalse(it.hasNext()); }
@Issue("JENKINS-30295") @Test public void testChangeSetApiVersion1407Methods() throws Exception { FreeStyleProject p = j.createFreeStyleProject(); p.setScm(new MercurialSCM(hgInstallation(), repo.getPath(), null, null, null, null, false)); m.hg(repo, "init"); m.touchAndCommit(repo, "f1"); p.scheduleBuild2(0).get(); m.touchAndCommit(repo, "f2"); MercurialChangeSet changeSet = (MercurialChangeSet) p.scheduleBuild2(0).get().getChangeSet().iterator().next(); String commitId = m.getLastChangesetId(repo); long timestampInSeconds = m.getLastChangesetUnixTimestamp(repo); assertEquals(commitId, changeSet.getCommitId()); assertEquals(timestampInSeconds * 1000, changeSet.getTimestamp()); }
assertEquals(b, changeSet.getRun()); assertEquals("hg", changeSet.getKind()); Iterator<? extends ChangeLogSet.Entry> iterator = changeSet.iterator(); assertTrue(iterator.hasNext()); ChangeLogSet.Entry entry = iterator.next(); assertFalse(iterator.hasNext()); changeSet = changeSets.get(1); iterator = changeSet.iterator(); assertTrue(iterator.hasNext()); entry = iterator.next();
assertEquals(b, changeSet.getRun()); assertEquals("svn", changeSet.getKind()); Iterator<? extends ChangeLogSet.Entry> iterator = changeSet.iterator(); assertTrue(iterator.hasNext()); ChangeLogSet.Entry entry = iterator.next(); assertFalse(iterator.hasNext()); changeSet = changeSets.get(1); iterator = changeSet.iterator(); assertTrue(iterator.hasNext()); entry = iterator.next();
assertEquals(b, changeSet.getRun()); assertEquals("git", changeSet.getKind()); Iterator<? extends ChangeLogSet.Entry> iterator = changeSet.iterator(); assertTrue(iterator.hasNext()); ChangeLogSet.Entry entry = iterator.next();
ChangeLogSet<? extends ChangeLogSet.Entry> failingChanges = failing.getChangeSets().get(0); assertEquals(1, failingChanges.getItems().length); ChangeLogSet.Entry failingEntry = failingChanges.iterator().next(); assertNotNull(failingEntry); ChangeLogSet<? extends ChangeLogSet.Entry> b3Changes = failing.getChangeSets().get(0); assertEquals(1, b3Changes.getItems().length); ChangeLogSet.Entry b3Entry = b3Changes.iterator().next(); assertNotNull(b3Entry);
assertEquals(b2, changeSet.getRun()); assertEquals("git", changeSet.getKind()); Iterator<? extends ChangeLogSet.Entry> iterator = changeSet.iterator(); assertTrue(iterator.hasNext()); ChangeLogSet.Entry entry = iterator.next();
assertEquals(b2, changeSet.getRun()); assertEquals("svn", changeSet.getKind()); Iterator<? extends ChangeLogSet.Entry> iterator = changeSet.iterator(); assertTrue(iterator.hasNext()); ChangeLogSet.Entry entry = iterator.next();
assertEquals(b2, changeSet.getRun()); assertEquals("hg", changeSet.getKind()); Iterator<? extends ChangeLogSet.Entry> iterator = changeSet.iterator(); assertTrue(iterator.hasNext()); ChangeLogSet.Entry entry = iterator.next();
assertEquals(b2, changeSet.getRun()); assertEquals("hg", changeSet.getKind()); Iterator<? extends ChangeLogSet.Entry> iterator = changeSet.iterator(); assertTrue(iterator.hasNext()); ChangeLogSet.Entry entry = iterator.next();