"private-kvp" merge reverted other changes since November.

John Ralls jralls at ceridwen.us
Wed May 7 10:49:12 EDT 2014

On May 7, 2014, at 9:54 AM, Geert Janssens <janssens-geert at telenet.be> wrote:

> On Tuesday 06 May 2014 22:41:17 John Ralls wrote:
>> On May 6, 2014, at 6:16 PM, Mike Alexander <mta at umich.edu> wrote:
>>> I get this error when I quit GnuCash (master branch) with a report
>>> open:
>>> Backtrace:
>>> In ice-9/boot-9.scm:
>>> 157: 7 [catch #t #<catch-closure 116f3a2c0> ...]
>>> In unknown file:
>>> ?: 6 [apply-smob/1 #<catch-closure 116f3a2c0>]
>>> ?: 5 [call-with-input-string "gnc:report-generate-restore-forms"
>>> ...]
>>> In ice-9/boot-9.scm:
>>> 2320: 4 [save-module-excursion #<procedure 1185f6600 at
>>> ice-9/eval-string.scm:65:9 ()>] In ice-9/eval-string.scm:
>>> 44: 3 [read-and-eval #<input: string 1181f69c0> #:lang ...]
>>> 37: 2 [lp gnc:report-generate-restore-forms]
>>> In ice-9/eval.scm:
>>> 393: 1 [eval #<memoized gnc:report-generate-restore-forms> ()]
>>> In unknown file:
>>> ?: 0 [memoize-variable-access! # #]
>>> ERROR: In procedure memoize-variable-access!:
>>> ERROR: Unbound variable: gnc:report-generate-restore-forms
>>> This appears to be because the merge of the "private-kvp" branch
>>> accidentally reverted part of 87c9a3b from Feb. 27.  That commit
>>> changed the function name to gnc:report-serialize, but the
>>> private-kvp merge changed the call back but not the definition. 
>>> This is only one of many changes reverted by this merge.  Since the
>>> private-kvp branch is based on c2d93cbe from November 3, other
>>> changes since then have been reverted also.
>>> I compared two diffs: "git diff c2d93cbe 207bedb" and "git diff
>>> acad5a0 f49983b" which I think should be functionally much the
>>> same.  The first is changes made on the private-kvp branch and the
>>> second is changes made by the merge from it to master.  In fact the
>>> two diffs are quite different.  Among the differences is the one
>>> that causes the error quoted above.
>>> Just to pick another random example, the merge also removed a call
>>> to qof_instance_set_dirty in gnc_template_register_save_xfrm_cell
>>> which is in register/ledger-core/split-register-model-save.c.  This
>>> call was added in 613ba0d on December 7.  This is only one of a
>>> number of changes I noticed.
>> That's unfortunate. It means that our strategy of merging instead of
>> rebasing isn't going to work.
> In fact I think something went wrong in your merge. I have redone it 
> locally by checking out master right before your merge and merging the 
> private-kvp branch head right before the merge.
> There were a couple of merge conflicts which I manually resolved. After 
> the merge the gnc:report-serialize call was not reverted to gnc:report-
> generate-restore-forms at all.
> Neither is the qof_instance_set_dirty call removed from 
> gnc_template_register_save_sfrm_cell.
> I can't tell for sure if the merge I did is fully correct because I had 
> to interpret the merge conflicts and I only did that superficially. But 
> still the issues mentioned above are not there. They were not part of 
> any merge conflict either.
> Did you use specific merge settings ? I did only a plain git merge.

No, I also did a default merge, after several merges of master back into private-kvp in order to get it cleaned up; the result of those cleanups would be the head of kvp-merge that you re-merged.

If your merge passes make check, go ahead and revert-and-remerge. I'm not going to try that from my laptop.

John Ralls

More information about the gnucash-devel mailing list