CVS HEAD - trying to fix

Derek Atkins warlord at MIT.EDU
Mon Nov 8 12:21:19 EST 2004


Hi,

Neil Williams <linux at codehelp.co.uk> writes:

>> Few people use HEAD for much.  I know I dont.
>
> So which branch do you use to test new code?

That presupposes that I'm writing new code.  ;)
For me, it depends on the code that I'm writing.  Some of it I write
and test on HEAD, some on g2.  Sometimes I'll test on 1-8-branch if
it's a bugfix.

> Which branch would you recommend I test the merge code against?

HEAD.

> The problems in CVS HEAD business objects are numerous.

Lovely...  :(   Let's number them so we can refer to them:

#1:
> Invoices are posted to the accounts with gnc_numeric_zero values, despite 
> having an amount set in the entries.

I wonder if this is due to Linas' new scrub code?  This certainly
sounds like a bug in his scrub code.  That's certainly the most recent
change, and I do know this USED to work.

#2:
> Any business activity causes a blank customer entry to appear.
>  The blank customer remains linked to the previous Job entry.
>  The original customer now has NO job entries.
> The blank customer does NOT exist in the XML data file, it is created during / 
> just after start-up. 

This is really odd.  I bet this is a bug in the Qofification of the
business code.

#3:
> Loading a working data file (created using v1.8.9) causes multiple blank 
> customers to appear, all Job's are re-allocated to one or other blank 
> customer but with no discernible pattern - jobs that were previously one of 
> ~50 for the same customer, get allocated to different spurious blank 
> customers, some blanks get 12, some just one. The original customers never 
> retain any.

Sounds like a bug in the qofification or xml file load.  In
particular, it sounds like the jobs are getting loaded first but when
the customer loads it doesn't do the right thing to use the
proto-customer.

#4:
> Unposting an invoice also causes the BillTerm entries to become invalid AND 
> unfixable in the GUI.

"unfixable"?  What do you mean by that?

#5:
> The dummy customer that is created has no billing address or other text fields 
> set and has the currency set as ADF (the first one in the list).

This is a side effect of #2 and/or #3.  So this is not a problem on
its own.

#6:
> Clicking the Invoice link in the Customer Report correctly loads the invoice 
> with the real totals set, even though the report itself shows a zero amount, 
> so the invoice itself remains valid.

This is because the customer report uses the CoA transaction values, but
the invoice does not.  I.e., this is a side effect of #1 and not a problem
on its own.

#7:
> I also get Orphan-GBP created in every file - old, working files as well as 
> new - every time I view any account. I can see how Scrub.c creates the file, 
> cannot see why it does so.
> Payments also get reset to zero amounts, no trace of the original payment 
> amount is stored.

This also sounds like another bug in the Scrub code.

> My remaining problems with my own code are:
> 1. AccountGroup - need to find a way to retain groups after a merge to 
> complete the druid-merge code. Other improvements are also overdue for the 
> main merge routines.

This is definitely important.  :)
It effectively means the merge isn't doing anything because my resulting
CoA doesn't have any results from the merge.  IMHO you should just
special-case the root AccountGroup (read: break the QOF abstraction) and move on.

> 2. QofBook import - need to extend the merge from just new account trees to 
> entire books.
> 3. QSF and the palm/pilot-link code. (I've got a working format that is 
> properly namespaced and validated against a usable schema.)
>
> I'll try and allocate some time to working on HEAD but I'm going to have to 
> spend most of my time on #1 and #3 (with work on #2 following the solution of 
> problem #1). I'll concentrate on how the merge operates with non-business 
> objects and work on the business problems when I know that other parts are 
> working.

Fair enough.

-derek

-- 
       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL: http://web.mit.edu/warlord/    PP-ASEL-IA     N1NWH
       warlord at MIT.EDU                        PGP key available


More information about the gnucash-devel mailing list