new tODE features available (on dev branch)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

new tODE features available (on dev branch)

GLASS mailing list
With PR #198[1], I've added a couple new features and some bugfixes....
See the PR[1] for additional details.

The main addition is that I've improved the class version history
browsing functionality via the `cls history` command (`man cls history`
for command details). With some of the recent class history issues that
have popped up on the list I also had an opportunity to work with a
class history issue that we ran into in-house, so I took that
opportunity to juice up the class history support ... In a nutshell you
can browse the class histories for a list of classes (`cls history
ClassA ClassB`), all of the classes with class histories (`cls
history`). Using the `--hier` option allows you to view the class
hierarchy of classes in the class history.

In the issue I was looking at PPCompositeParser[1] (after an upgrade)
had some interesting subclasses that should have been under
PPCompositeParser[2]:

Object
  PPParser
   PPDelegateParser
    PPCompositeParser[1]
     BnfGrammar
      BnfEvaluator
       SqlLiteralBnf
       SqlSearchBnf
       SqlStatementBnf
     PPArithmeticParser
     PPLambdaParser
     SqlParser
      Sql92LiteralGeneratedGrammar
       Sql92LiteralGrammar
        Sql92LiteralEvaluator
      Sql92SearchGeneratedGrammar
       Sql92SearchGrammar
        Sql92SearchEvaluator
      Sql92StatementGeneratedGrammar
       Sql92StatementGrammar
        SqlStatementEvaluator
    PPCompositeParser[2]
     GsQueryGrammar[2]

and using `cls history --hier PPCompositeParser` to produce the above
class def window, it was possible to see the damage that was being
done... Note that clicking on a class in the above window opens the
class browser for the selected class (and yes clicking on
PPCompositeParser[1] would open a class browser on the old version of
the class).

There were no client side changes this time around so a simple `project
load Tode` should update your system (Note if you have a local clone or
a fork of tODE, then you need to pull the changes to your local git repo
before doing the `project load`) ...

Dale

[1] https://github.com/dalehenrich/tode/pull/198
_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass