Search in sources :

Example 16 with PatchData

use of org.jboss.fuse.patch.management.PatchData 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)

Aggregations

PatchData (org.jboss.fuse.patch.management.PatchData)16 Patch (org.jboss.fuse.patch.management.Patch)9 File (java.io.File)8 Test (org.junit.Test)8 IOException (java.io.IOException)6 LinkedList (java.util.LinkedList)6 PatchResult (org.jboss.fuse.patch.management.PatchResult)6 FileInputStream (java.io.FileInputStream)5 PatchException (org.jboss.fuse.patch.management.PatchException)5 ZipFile (org.apache.commons.compress.archivers.zip.ZipFile)4 BundleUpdate (org.jboss.fuse.patch.management.BundleUpdate)4 GitPatchManagementServiceImpl (org.jboss.fuse.patch.management.impl.GitPatchManagementServiceImpl)4 Bundle (org.osgi.framework.Bundle)4 HashMap (java.util.HashMap)3 LinkedHashMap (java.util.LinkedHashMap)3 Properties (java.util.Properties)3 Artifact (org.jboss.fuse.patch.management.Artifact)3 PatchDetailsRequest (org.jboss.fuse.patch.management.PatchDetailsRequest)3 Version (org.osgi.framework.Version)3 FileWriter (java.io.FileWriter)2