Merging KDevPlatform into KDevelop

Aleix Pol aleixpol at kde.org
Fri Aug 4 01:09:11 UTC 2017


On Thu, Aug 3, 2017 at 9:42 PM, Kevin Funk <kfunk at kde.org> wrote:
> On Thursday, 3 August 2017 01:07:58 CEST Aleix Pol wrote:
>> Hello everyone,
>> Here's a proposal for the merge. Since it's a sensitive issue I'd be
>> happier if someone else could take a look.
>>
>> These are the commands to run:
>> ```
>> cd kdevelop
>>
>> git remote add -f kdevplatform ../kdevplatform
>> git merge -s ours --allow-unrelated-histories --no-commit
>> kdevplatform/master git read-tree --prefix=kdevplatform/ -u
>> kdevplatform/master
>> git commit -m "Merge KDevPlatform into KDevelop"
>
> Just tried this: Works fine for me. This is almost the same script I've used
> for merging kdev-clang & kdev-qmake into kdevelop.git.
>
> The next line (`git pull ...`) messes up things for me though. I'm not sure we
> want it. Reasons:
> - Takes several minutes to finish here
> - I think it flattens the merge and puts all commits from kdevplatform on top
> of kdevelop master(?)
> - Ends up in a conflict:
>
> ```
> CONFLICT (rename/rename): Rename "qmake/qmake/qmakeprojectmodel.h"->"qmake/
> qmakeprojectmodel.h" in branch "d74499f368923838a07d2839523ab543043d9080"
> rename "qmake/qmake/qmakeprojectmodel.h"->"qmakeprojectmodel.h" in
> "HEAD~14667"
> CONFLICT (rename/rename): Rename "qmake/qmake/qmakeprojectmodel.cpp"->"qmake/
> qmakeprojectmodel.cpp" in branch "d74499f368923838a07d2839523ab543043d9080"
> rename "qmake/qmake/qmakeprojectmodel.cpp"->"qmakeprojectmodel.cpp" in
> "HEAD~14667"
> ```
>
> It seems to conflict with this commit:
>
> commit ceff8e0cf5a5a0dcbaad7831f85c1b72a6b624f4
> Author: Harald Fernengel <harry at kdevelop.org>
> Date:   Wed Aug 17 13:37:15 2005 +0000
>      r285 at angua:  harald | 2005-08-12T22:15:51.184479Z
>
>> git pull -s subtree kdevplatform master
>
> ^ BAD.
>
>
> IOW: I think if you leave out the `git pull ...` then it should be fine.
>
> Git history seems to be appropriate. I can `git blame` files & and do e.g.`git
> log --follow -- plugins/appwizard` just fine afterwards.
>
> that's my HEAD after running those 4 Git commands:
>
> ```
> *   8a4b5a6005 - (HEAD -> master) Merge KDevPlatform into KDevelop (7 minutes
> ago) <Kevin Funk>
> |\
> | *   d74499f368 - (kdevplatform/master) Merge branch '5.1'
> | |\
> | | * a95884b6df - (kdevplatform/5.1) welcome page: fix icon for "...
> ```
>
> Looks good.
>
> Cheers,
> Kevin
>
>
>> git apply monolithic-kdev.patch # as attached
>> ```
>>
>> This will create a kdevplatform subdirectory. In the patch you'll see
>> I added some tweaks so everything still just builds (tm). I thought
>> that we can do further reorganizations once it's inside. That said, I
>> think it's fine to keep the KDevPlatform concept for now.
>>
>> Thoughts?
>> Aleix

I'm not sure. In fact for me history doesn't work without it:
$ git log --follow debugger/framestack/framestackmodel.cpp
commit de37cf2fd855cd137a5da05b568022f7b5f96e59
Author: Aleix Pol <aleixpol at kde.org>
Date:   Fri Aug 4 03:01:20 2017 +0200

    Merge KDevPlatform into KDevelop
$

Also, can you try it with a new kdevplatform and kdevelop? You
mentioned before the qmake conflict and that it took really long for
you to do the merge while for me it's almost instantaneous.
Maybe you have stuff laying around from when you did the qmake merge?

Here's my output, there's no conflicts:
https://paste.kde.org/prfujegfg/k0gdhx/raw

Aleix


More information about the KDevelop-devel mailing list