Tips: July 2008 Archives

I’ve covered making Snapshots from the Current Database and by checking out source to an alternate location in earlier posts.  Now I’m going to tell you the EASY way to do it…. Just use TrackBack.

2008-07-30 19.42

Assuming you have had TrackBack B443 or later monitoring your source trees, you can recreate the state of any monitored directory at any time. This includes file modification, file existance, file renaming, everything.

User tools are a convenient way to quickly access external tools or other applications. In an earlier post, Ken shared his SVN User Tools, which provide quick access to version control commands right inside the application.  If you use a different version control system, or want to launch another application, you'll need to know how to make your own user tools.

A frequent complaint of Understand 1.4 users was that unless their project was syncronized to an MSVC project it was difficult to keep Understand projects up to date about new files and especially hard to keep files removed from a project from showing up again when adding new code.

Understand 2.0 addresses this with the “Watched Dir” concept. By default any directory you add is a “watched dir”.

Understand 2.0 scans all project “watched dir” for new/removed files and the project file list updated automatically.  Importantly, any modifications you have manually made – either by removing or by changing file filters is remembered.  In 2.0 you only have to remove a file once it won’t come back unless you add it specifically.

You can trigger a rescan  with the Project->Rescan button:

2008-07-24 08.05

Or automatically on a schedule with the Project scheduler available in Project->Configure Project:

2008-07-24 08.06

It is very common to walk a call, call by, or class hierarchy tree seeing what is “going on”.  You can do this in the Information Browser, or in the various graph views we have provided for years.

A new way in Understand 2.0 is the Entity Explorer window.  It permits keyboard based fast exploring of reference hiearchies with syncronized source and informatoin updates.

To see this just click on any entity that has relationships. For instance, a function, and choose “Explorer”.  It will list the reference hiearchies availble to explore:

2008-07-24 00.24

Have you ever looked at a call tree and wondered “is somefunction()” in there?

B453, which you can download now,  introduces a new “incremental search” feature to the Information Browser that makes answering questions like that a snap.

To use it hit select where you want to start searching from and then hit the Ctrl-F key while in the IB or click on the 2008-07-23 23.46 icon.

That brings up a search box on the bottom of the IB:

2008-07-23 23.48

I was working hard on doing nothing on the 4th of July holiday and didn’t do a Build Metrics post about B450. Now I’m ready to do that and I find that I forgot to make an Understand 2.0 snapshot of the source for B450.

I have a couple options:

  1. Check out B450 source to an alternate location and make a snapshot from it.
  2. Look up the revision tag time for B450 and use TrackBack to make a snapshot.

I’ll choose #1 just for an example. Next time, I’ll show #2.

First, I’ll check my SVN e-mail log to see when B450 was tagged:

2008-07-10 05.10

Understand 2.0 projects contain a lot more user provided information than 1.4 projects. Things like Architecture, Snapshots, Metrics comparison data,  and Maintenance estimates take effort to create and would hurt if lost.

I urge you to back up your Understand 2.0 databases regularly, especially if you are using any of the above features. A simple copy will do, and the copied database will compress.

In B450 we have introduced a Project Scheduler. It  can be used to automatically update project files, project parses and build snapshots. In the the next build or two we will add Understand database back up to this scheduler.  Longer term we plan to also have reports, metrics updates and script/script set runs scheduled as well.