[Kmymoney-devel] Guidance needed please

aga agander93 at gmail.com
Fri Mar 20 19:28:28 UTC 2015



On 20/03/15 16:34, Alvaro Soliverez wrote:
> Hi,
> The problem doesn't seem to be in your git workflow, but rather a
> conflict when applying the patch.
>
> asoliver at zeon:~/desarrollo/kmymoney> git cherry-pick
> 71bbf7b53125edfd37047f0bdba1feedd88a6d26
> error: could not apply 71bbf7b... BUG:343106
> hint: after resolving the conflicts, mark the corrected paths
> hint: with 'git add <paths>' or 'git rm <paths>'
> hint: and commit the result with 'git commit'
> asoliver at zeon:~/desarrollo/kmymoney> git status
> On branch 4.7
> You are currently cherry-picking commit 71bbf7b.
>    (fix conflicts and run "git cherry-pick --continue")
>    (use "git cherry-pick --abort" to cancel the cherry-pick operation)
>
> Changes to be committed:
>
>          modified:   kmymoney/dialogs/keditscheduledlg.cpp
>          modified:   kmymoney/dialogs/kenterscheduledlg.cpp
>          modified:   kmymoney/dialogs/transactioneditor.cpp
>          modified:   kmymoney/dialogs/transactioneditor.h
>
> Unmerged paths:
>    (use "git add <file>..." to mark resolution)
>
>          both modified:   kmymoney/kmymoney.cpp
>
>
> Running "git diff kmymoney/kmymoney.cpp" shows the conflict with HEAD.
> It seems that lines are added and nothing is deleted.
>
>
> diff --cc kmymoney/kmymoney.cpp
> index c1c23cb,d8eaadf..0000000
> --- a/kmymoney/kmymoney.cpp
> +++ b/kmymoney/kmymoney.cpp
> @@@ -7328,6 -7482,151 +7327,154 @@@ void KMyMoneyApp::slotAccountUpdateOnli
>      slotUpdateActions();
>    }
>
> ++<<<<<<< HEAD
> ++=======
> + void KMyMoneyApp::slotNewOnlineTransfer(void)
> + {
> +   kOnlineTransferForm *transferForm = new kOnlineTransferForm(this);
> +   if (!d->m_selectedAccount.id().isEmpty()) {
> +     transferForm->setCurrentAccount(d->m_selectedAccount.id());
> +   }
> ...
>
>
> So, I would make sure this is what you intended, remove the conflict
> lines, build that version and test it.
>
> Then, you'll have to mark the conflict resolved by running:
>
> git add kmymoney/kmymoney.cpp
> git commit
>

We should be so lucky!

It built OK, but on running, it crashed immediately -

Application: KMyMoney (kmymoney), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[KCrash Handler]
#5  0x000000000000ac16 in  ()
#6  0x00007f9a5f0938d4 in qt_plugin_instance() () at 
/home/aga/GITD/kmymoney/kmymoney/plugins/onlinetasks/national/nationalonlinetasksloader.cpp:36
#7  0x00007f9a73b26dac in KLibrary::factory(char const*) () at 
/usr/lib64/libkdecore.so.5
#8  0x00007f9a73b2c5b7 in KPluginLoader::factory() () at 
/usr/lib64/libkdecore.so.5
#9  0x00007f9a77c8b3c1 in 
KMyMoneyPlugin::PluginLoader::loadPlugin(KPluginInfo*) 
(error=0x7ffff587e850, args=..., parent=<optimized out>, 
parentWidget=0x0, this=0x21d0f90) at /usr/include/kservice.h:577
#10 0x00007f9a77c8b3c1 in 
KMyMoneyPlugin::PluginLoader::loadPlugin(KPluginInfo*) 
(error=0x7ffff587e850, args=..., parent=<optimized out>, this=0x21d0f90) 
at /usr/include/kservice.h:556
#11 0x00007f9a77c8b3c1 in 
KMyMoneyPlugin::PluginLoader::loadPlugin(KPluginInfo*) 
(this=this at entry=0x21d3350, info=0x21cb940) at 
/home/aga/GITD/kmymoney/kmymoney/plugins/pluginloader.cpp:98
#12 0x00007f9a77c8bbef in KMyMoneyPlugin::PluginLoader::loadPlugins() 
(this=0x21d3350) at 
/home/aga/GITD/kmymoney/kmymoney/plugins/pluginloader.cpp:86
#13 0x0000000000465b59 in KMyMoneyApp::loadPlugins() 
(this=this at entry=0x1709b30) at 
/home/aga/GITD/kmymoney/kmymoney/kmymoney.cpp:7038
#14 0x000000000049ccd4 in KMyMoneyApp::KMyMoneyApp(QWidget*) 
(this=0x1709b30, parent=<optimized out>, __in_chrg=<optimized out>, 
__vtt_parm=<optimized out>) at 
/home/aga/GITD/kmymoney/kmymoney/kmymoney.cpp:395
#15 0x000000000045e3eb in main(int, char**) (argc=1, 
argv=0x7ffff587f398) at /home/aga/GITD/kmymoney/kmymoney/main.cpp:157

But, /GITD/kmymoney/kmymoney/plugins/onlinetasks does not exist in 4.7, 
nor the other onlinebanking plugins either.

Perhaps they are only in master.

Allan



> On Fri, Mar 20, 2015 at 1:03 PM aga <agander93 at gmail.com
> <mailto:agander93 at gmail.com>> wrote:
>
>
>
>     On 20/03/15 15:29, Alvaro Soliverez wrote:
>      > What's the commit id of what you are trying to cherry pick
>
>     Thanks Alvaro it's -
>
>     (cherry picked from commit
>       >     71bbf7b53125edfd37047f0bdba1fe____edd88a6d26)
>
>     Allan
>
>
>     ? I'll try it here
>      >
>      > On Fri, Mar 20, 2015 at 12:19 PM aga <agander93 at gmail.com
>     <mailto:agander93 at gmail.com>
>      > <mailto:agander93 at gmail.com <mailto:agander93 at gmail.com>>> wrote:
>      >
>      >     I'm afraid there still seems to be a problem, but it's with the
>      >     cherry-pick.  It appears to go correctly, but git log shows -
>      >
>      >     commit a0dac2d1a6ede4bca0ba48da03783f____ad6aca3dbb
>      >     Author: Allan Anderson <agander93 at gmail.com
>     <mailto:agander93 at gmail.com>
>      >     <mailto:agander93 at gmail.com <mailto:agander93 at gmail.com>>>
>      >     Date:   Sun Feb 8 22:09:30 2015 +0000
>      >
>      >           BUG:343106
>      >           Fix unhelpful messages when processing schedules at
>     startup.
>      >           Fix 'next check number' message when updating a
>     schedule for a
>      >           non-checking schedule type.
>      >
>      >           (cherry picked from commit
>      >     71bbf7b53125edfd37047f0bdba1fe____edd88a6d26)
>      >
>      >           Conflicts:
>      >               kmymoney/kmymoney.cpp
>      >
>      >     It's the conflict I don't understand.
>      >
>      >     If I look in qgit, the diff for KMyMoney.cpp shows the
>     addition of about
>      >     a dozen online banking methods, which appear to be in the
>     file already.
>      >        I see no conflict markers.
>      >
>      >     I saw this earlier, too, but am now using a new sandbox.
>      >
>      >     So, I'm afraid I still don't know how to proceed.
>      >
>      >     Allan
>      >
>      >
>      >     On 20/03/15 11:35, Alvaro Soliverez wrote:
>      >      > Hi,
>      >      >  From the looks of that, you were working on the 4.7 branch
>      >     directly. In
>      >      > that case, it's better to use rebase.
>      >      >
>      >      > ie. if you checkout -b a new branch, use rebase and merge
>      >      >      If you want to quickly fetch a commit from another
>     branch, use
>      >      > cherry-pick
>      >      > For example, work on master using checkout-b, rebase, and
>     merge.
>      >     Later
>      >      > on, use cherry-pick to copy it to 4.7.
>      >      >
>      >      >
>      >      > Now, let's see what you did in the specific steps.
>      >      >
>      >      >
>      >      > On Fri, Mar 20, 2015 at 8:16 AM aga <agander93 at gmail.com
>     <mailto:agander93 at gmail.com>
>      >     <mailto:agander93 at gmail.com <mailto:agander93 at gmail.com>>
>      >      > <mailto:agander93 at gmail.com <mailto:agander93 at gmail.com>
>     <mailto:agander93 at gmail.com <mailto:agander93 at gmail.com>>>> wrote:
>      >      >
>      >      >
>      >      >
>      >      >     Hi Alvaro
>      >      >
>      >      >     Thanks for that.  What I doing is based on several
>     emails of
>      >     yours -
>      >      >     [Kmymoney-devel]
>      >      >     Git workflow after backporting to origin/4.6
>      >      >     30-06-2012
>      >      >
>      >      >     git checkout 4.7
>      >      >     git fetch origin && git reset --hard origin/4.7
>      >      >     git checkout -b backportFixes
>      >      >     (work on the fixes, cherry-pick from other branches, etc.)
>      >      >
>      >      >     git checkout 4.7
>      >      >     git cherry-pick -x hash (this is my addition)
>      >      >
>      >      > If there were multiple commit, cherry picking is not that
>     easy,
>      >     as you
>      >      > have to do it in the right. It'd be much better to rebase
>     and merge.
>      >      >
>      >      > However, it cherry picking worked, all that was left to do was
>      >     pushing.
>      >      >
>      >      > The next steps are redundant and prone to cause
>     unnecessary problems
>      >      > when used together with cherry-pick.
>      >      >
>      >      >     Once you are done with that, and I think the point
>     where you
>      >     are at now:
>      >      >     git checkout 4.7
>      >      >     git pull -r origin 4.7
>      >      >     git checkout backportFixes
>      >      >     git rebase 4.7
>      >      >     git checkout 4.7
>      >      >     git merge backportFixes
>      >      >     git push kde:kmymoney 4.7
>      >      >
>      >      >
>      >      >     Thanks again
>      >      >
>      >      >     Allan
>      >      >
>      >      >
>      >
>


More information about the KMyMoney-devel mailing list