Improve stock handling in QIF import

Bill Gribble grib@gnumatic.com
Fri, 16 Feb 2001 16:27:23 -0600


On Fri, Feb 16, 2001 at 03:56:17PM -0500, Derek Atkins wrote:
> I dont want to nuke my (empty) account tree.  But I'll go try your
> new patch.

Ok.  here it is.  This works for your case as close as I can simulate
it here.  You should remove ~/.gnucash/qif-accounts-map before trying
it.

b.g.

begin 664 gnucash-20010216-162132-grib.diff.gz
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
(7L"=55R0````
`
end