On Wednesday 07 May 2014 10:49:12 John Ralls wrote: > On May 7, 2014, at 9:54 AM, Geert Janssens <[email protected]> wrote: > > On Tuesday 06 May 2014 22:41:17 John Ralls wrote: > >> On May 6, 2014, at 6:16 PM, Mike Alexander <[email protected]> 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. > It didn't at first but then I noticed you added extra corrections directly into the merge commit to handle a number of const warnings in c++ and some other issues.
I have reapplied these fixes in a separate commit and the result builds, runs and passes make check. The result has been pushed to the central repository again. Note that it was not possible to revert-and-remerge just like that. This is explained in man git-revert and the reference it has to local documentation file. Once merged you can revert the data but not the merge history. So if you re-merge after reverting the merge commit nothing happens because according to git the branch was already merged. So instead I redid the merge on a separate branch (branched right before the bad merge) and cherry-picked this merge on top of the reverted merge in master. Geert _______________________________________________ gnucash-devel mailing list [email protected] https://lists.gnucash.org/mailman/listinfo/gnucash-devel
