[rules-dev] Forking to apply manual patch

Geoffrey De Smet ge0ffrey.spam at gmail.com
Mon Apr 4 06:01:28 EDT 2011


I believe you're running into *merge conflicts *with*the parser changes 
*and/or*directory structure changes*.

Because the old repo and the new repo aren't considered forks
and because - strictly speaking - don't share any git history (every 
historic commit was rewritten during the split-up),
git can't do any of it's merging magic.
So you're stuck with plain old patches (like in SVN) and *those patches 
are stale*.

Originally, the plan was that you just merge your old repository until 
the last non-splitting up commit:
   
https://github.com/droolsjbpm/droolsjbpm/tree/3e89a7afce9837517958a7069b0285def242b9cd
You 'll probably run into merge conflicts with the parser changes too, 
but they might be easier to fix.
Then create a patch from that, and apply it to the drools git repository 
(probably with merge conflicts again).
Drools-core/compiler were not stable (= runnable) when they were 
split-up (so in that commit revision):
Edson and Mark local branches had to applied on master to be migrated 
and they collided.

If your patch also applies on files outside directories drools-core and 
drools-compiler, such as drools-api (now knowledge-api), guvnor-webapp, etc
then manually split up that patch file into 2 patch files.

An alternative you can try, is fork on an old commit revision of drools 
(note: the tags could not be migrated during the split-up):
   https://github.com/droolsjbpm/drools/commits/master?page=8
then apply your patch on a branch of that and then merge HEAD to that 
branch (which will give you those merge conflicts again, but with git's 
merging magic).

Sorry that I can't help more :( Stale patches sux.

Op 03-04-11 09:27, Leonardo Gomes schreef:
> Here's what I'm trying to do and haven't succeed so far:
>
> *- Create a patch from my branch in droolsjbpm: *
> https://github.com/droolsjbpm/droolsjbpm/commits/lr_unlinking_20101116
>
> I forked, cloned and checked-out lr_unlinking_20101116. Then I tried 
> to different ways of generating a patch
>
> - git diff revision HEAD > myPatch.diff
> - git format-patch -k --stdout revision..HEAD > myPatch.patch
>
> *- Apply the patch to my fork of drools: *
> https://github.com/leogomes/drools
>
> First let's have a look at the stats:
> - git apply --stat ../droolsjbpm/drools-core/myPatch.patch
>
>
> Then verify (and fail!):
> leo at leonardo-laptop:~/java/drools/git/drools/drools-core$ git apply 
> --check ../droolsjbpm/drools-core/myPatch.patch
> error: patch failed: 
> drools-core/src/main/java/org/drools/RuleBaseConfiguration.java:100
> error: 
> drools-core/src/main/java/org/drools/RuleBaseConfiguration.java: patch 
> does not apply
> (...)
>
> I'm trying first with drools-core and then have to do the same for 
> drools-compiler and api.
>
> Any hint or another approach to suggest?
>
> Thanks,
> Leo.
>
>
>
>
> On Fri, Apr 1, 2011 at 9:12 AM, Geoffrey De Smet 
> <ge0ffrey.spam at gmail.com <mailto:ge0ffrey.spam at gmail.com>> wrote:
>
>     If you're building the first time since the split-up, do take a
>     look at the README to avoid all kinds of pitfalls:
>     https://github.com/droolsjbpm/droolsjbpm-build-bootstrap/blob/master/README.md
>     It also talks about using UTF-8 encoding, unix (\n) line endings
>     (in non-java files too), ...
>
>     Op 01-04-11 08:49, Leonardo Gomes schreef:
>>     I managed to fork/clone and get diffs from everything I did, but
>>     I still need to install Maven 3 and make it coexist with Maven 2
>>     to be able to compile and test. Should be applying the patches
>>     later today, hopefully.
>>
>>     Thanks, Geoffrey.
>>
>>
>>     On Thu, Mar 31, 2011 at 7:02 PM, Geoffrey De Smet
>>     <ge0ffrey.spam at gmail.com <mailto:ge0ffrey.spam at gmail.com>> wrote:
>>
>>
>>
>>         Op 31-03-11 17:25, Leonardo Gomes schreef:
>>>         Hello Guys,
>>>
>>>         I didn't actually followed-up on all emails about the Git
>>>         repository, but I think that it should be simple.
>>>
>>>         *Problem:*
>>>         I would like to manually apply the changes that I did into
>>>         lr_unlinking_20101116 branch (+ some other changes I didn't
>>>         commit yet) to the newly split repositories.
>>>         I modified: drools-api, drools-core, drools-compiler.
>>>
>>>         *Solution:*
>>>         - Fork https://github.com/droolsjbpm/droolsjbpm-knowledge
>>>         for the drools-api changes
>>>         and https://github.com/droolsjbpm/drools for the others
>>>         (core and compiler).
>>>
>>         and clone your forks
>>>         - Manually apply my patches
>>         locally, and then commit and push to your forks
>>>         , create a pull request.
>>         2 probably, one for each repository
>>         but yes, that should work :)
>>
>>>
>>>         Is that correct? Anything else to keep in mind?
>>>
>>>         Thanks,
>>>         Leonardo.
>>>
>>>
>>>
>>>
>>>         _______________________________________________
>>>         rules-dev mailing list
>>>         rules-dev at lists.jboss.org  <mailto:rules-dev at lists.jboss.org>
>>>         https://lists.jboss.org/mailman/listinfo/rules-dev
>>
>>         -- 
>>         With kind regards,
>>         Geoffrey De Smet
>>
>>
>>         _______________________________________________
>>         rules-dev mailing list
>>         rules-dev at lists.jboss.org <mailto:rules-dev at lists.jboss.org>
>>         https://lists.jboss.org/mailman/listinfo/rules-dev
>>
>>
>>
>>     _______________________________________________
>>     rules-dev mailing list
>>     rules-dev at lists.jboss.org  <mailto:rules-dev at lists.jboss.org>
>>     https://lists.jboss.org/mailman/listinfo/rules-dev
>
>     -- 
>     With kind regards,
>     Geoffrey De Smet
>
>
>     _______________________________________________
>     rules-dev mailing list
>     rules-dev at lists.jboss.org <mailto:rules-dev at lists.jboss.org>
>     https://lists.jboss.org/mailman/listinfo/rules-dev
>
>
>
> _______________________________________________
> rules-dev mailing list
> rules-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-dev

-- 
With kind regards,
Geoffrey De Smet

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-dev/attachments/20110404/62cda7b9/attachment.html 


More information about the rules-dev mailing list