Search in sources :

Example 31 with Patch

use of org.jboss.fuse.patch.management.Patch in project fuse-karaf by jboss-fuse.

the class AbstractPatchIntegrationTest method rollback.

// Rollback a patch and wait for rollback to complete
protected void rollback(String name) throws Exception {
    Patch patch = service.getPatch(name);
    service.rollback(patch, false, false);
    patch = service.getPatch(name);
    long start = System.currentTimeMillis();
    while (patch.isInstalled() && System.currentTimeMillis() - start < TIMEOUT) {
        patch = service.getPatch(name);
        Thread.sleep(100);
    }
    if (patch.isInstalled()) {
        fail(String.format("Patch '%s' did not roll back within %s ms", name, TIMEOUT));
    }
}
Also used : Patch(org.jboss.fuse.patch.management.Patch)

Example 32 with Patch

use of org.jboss.fuse.patch.management.Patch in project fuse-karaf by jboss-fuse.

the class GitConflictResolutionIT method reportForXml.

@Test
public void reportForXml() throws Exception {
    prepareChanges3();
    RevWalk rw = new RevWalk(git.getRepository());
    git.checkout().setName("custom").setCreateBranch(false).call();
    ObjectId commit = git.getRepository().resolve("patched");
    CherryPickResult result = git.cherryPick().include(commit).call();
    RevCommit cMaster = rw.parseCommit(git.getRepository().resolve("master"));
    RevCommit cCustom = rw.parseCommit(git.getRepository().resolve("custom"));
    RevCommit cPatched = rw.parseCommit(git.getRepository().resolve("patched"));
    new GitPatchManagementServiceImpl().handleCherryPickConflict(null, git, result, git.getRepository().parseCommit(commit), true, PatchKind.NON_ROLLUP, "x", false, false);
    RevCommit cMerged = git.commit().setMessage("resolved").call();
    // we have 4 commits (7349224 is a custom change that's conflicting with "patched" branch):
    /*
           * 92a9ad8 - (HEAD -> custom) resolved
           * 7349224 - custom etc/org.ops4j.pax.logging.cfg
           | * 5777547 - (patched) patched etc/org.ops4j.pax.logging.cfg
           |/
           * 306f328 - (master) original etc/org.ops4j.pax.logging.cfg
         */
    FileWriter writer = new FileWriter("target/report2.html");
    PatchData pd = new PatchData("my-patch-id2");
    PatchResult patchResult = PatchResult.load(pd, getClass().getResourceAsStream("/conflicts/example1/fuse-karaf-7.0.0.fuse-000160.patch.result"));
    Set<String> conflicts = new HashSet<>();
    conflicts.add("etc/maven-settings.xml");
    DiffUtils.generateDiffReport(new Patch(pd, null), patchResult, git, conflicts, cMaster, cCustom, cPatched, cMerged, writer);
    writer.close();
}
Also used : CherryPickResult(org.eclipse.jgit.api.CherryPickResult) GitPatchManagementServiceImpl(org.jboss.fuse.patch.management.impl.GitPatchManagementServiceImpl) PatchData(org.jboss.fuse.patch.management.PatchData) ObjectId(org.eclipse.jgit.lib.ObjectId) AbbreviatedObjectId(org.eclipse.jgit.lib.AbbreviatedObjectId) FileWriter(java.io.FileWriter) PatchResult(org.jboss.fuse.patch.management.PatchResult) RevWalk(org.eclipse.jgit.revwalk.RevWalk) Patch(org.jboss.fuse.patch.management.Patch) RevCommit(org.eclipse.jgit.revwalk.RevCommit) HashSet(java.util.HashSet) Test(org.junit.Test)

Example 33 with Patch

use of org.jboss.fuse.patch.management.Patch in project fuse-karaf by jboss-fuse.

the class InstallCommand method doExecute.

@Override
protected void doExecute(PatchService service) throws Exception {
    Patch patch = super.getPatch(patchId);
    PatchResult result = service.install(patch, simulation, synchronous);
}
Also used : PatchResult(org.jboss.fuse.patch.management.PatchResult) Patch(org.jboss.fuse.patch.management.Patch)

Aggregations

Patch (org.jboss.fuse.patch.management.Patch)33 PatchException (org.jboss.fuse.patch.management.PatchException)20 IOException (java.io.IOException)12 PatchResult (org.jboss.fuse.patch.management.PatchResult)11 File (java.io.File)10 ManagedPatch (org.jboss.fuse.patch.management.ManagedPatch)9 PatchData (org.jboss.fuse.patch.management.PatchData)9 Test (org.junit.Test)9 LinkedList (java.util.LinkedList)7 GitAPIException (org.eclipse.jgit.api.errors.GitAPIException)7 PatchDetailsRequest (org.jboss.fuse.patch.management.PatchDetailsRequest)7 HashMap (java.util.HashMap)6 BundleUpdate (org.jboss.fuse.patch.management.BundleUpdate)6 Bundle (org.osgi.framework.Bundle)6 ZipFile (org.apache.commons.compress.archivers.zip.ZipFile)5 RevCommit (org.eclipse.jgit.revwalk.RevCommit)5 RevWalk (org.eclipse.jgit.revwalk.RevWalk)5 GitPatchManagementServiceImpl (org.jboss.fuse.patch.management.impl.GitPatchManagementServiceImpl)5 FileInputStream (java.io.FileInputStream)4 ArrayList (java.util.ArrayList)4