From: Bob J. <Bob...@lb...> - 2008-09-25 00:51:09
|
At 4:06 PM -0400 9/24/08, Daniel Boudreau wrote: >I noticed that we're changing the name of the >layout-config-x-x-x.DTD file each time we release a new version of >jmri. There's some more info at <http://jmri.sourceforge.net/help/en/html/doc/Technical/XmlUsage.shtml> > This has the unintended consequence of making panels and files >incompatible with older versions of jmri. To be honest, it's not entirely unintended. Twice, we had problems that were tracked down to DTD changes that changed how files were read back (the DTD provides default values for a lot of attributes). That, plus really nasty silent problems from reading up-level files (newly added elements can, under some circumstances, be silently ignored, and then not written back when the file is saved from the older version, causing Really Angry Emails), eventually led to versioning the DTD files. >I can understand the need to change the layout-config it there are >indeed changes in the way we store our files, but I don't believe >that every release needs to break the backward compatibility. I >recently came across a panel issue and I'm having a terrible time >trying to figure out where the problem was introduced. Operationally, if you want to read an old file, the easiest thing to do is to change the DTD line at the top to be consistent with the version you want to read it with. But a better solution for finding "when did this get introduced" is to use CVS: *) In your test release, build and test. Bug still there? *) If yes, "cvs -q update -d -r Release-2-3-1 src/jmri/jmrit/" (or whatever packages you suspect) *) Repeat, working backwards. Once you find remove the bug, you can start moving individual packages and/or files forward until the problem appears, and then you've narrowed it down. Bob -- Bob Jacobsen, UC Berkeley jac...@be... +1-510-486-7355 fax +1-510-643-8497 AIM, Skype JacobsenRG |