monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Monotone-devel] Ancestry Graph


From: Brian Campbell
Subject: Re: [Monotone-devel] Ancestry Graph
Date: Thu, 19 Aug 2004 20:16:43 -0400

On Aug 19, 2004, at 7:04 PM, Florian Weimer wrote:

* Brian Campbell:

First of all, it outputs in VCG format, and I cannot find a working
link to a copy of xvcg. It seems that xvcg stopped being updated in
1995, so its viability in the future is questionable.

Debian ships VCG, including source code.

That doesn't really help me, since I'm running on Mac OS X. I mean, sure, I could dig around in Debian to find it, but the point remains that it's quite difficult to find a working copy of xvcg, it's not actively developed, and it's kind of crummy anyhow.


GraphViz is much more widely used, actively maintained, and there
are more tools which use its DOT file format, so it would probably
be good to have monotone output dot format files, rather than xvcg
format.

Unfortunately, GraphViz is not free software.

No, it's not. But the DOT file format that it uses is slightly more standard than the VCG file format. And Graphviz is easily accessible, easy to set up, and supports a lot of the features that I need (such as the ability to generate image maps for linking from the nodes).

Perhaps, rather than committing to either a piece of dead software, or a piece of software of questionable freedom, we should just output an ancestry graph in a neutral, easy to parse representation, and use separate utilities to convert it to whatever our personal favorite format is. This would also let us keep the code to select what information to display out of monotone, by just including all of the certs for all of the nodes in our file format and letting the conversion utility sort it all out.

My personal preference for random file formats is s-expressions, but I can be talked out of that. I'm thinking something like:

(ancestry
 (revision 914188563620ffddd36f0aa36c34610d02aee24b
  (author "address@hidden" "address@hidden" ok)
  (changelog "Foo" "address@hidden" ok)
  (branch "edu.dartmouth.foobar" "address@hidden" ok)
  ...)
 (revision c5e1a26d36fb6fe10b36249f17f2fbc42b504dbf
  (author "address@hidden" "address@hidden" ok)
  (changelog "Bar" "address@hidden" ok)
  (branch "edu.dartmouth.foobar" "address@hidden" ok)
  ...)
 (ancestor c5e1a26d36fb6fe10b36249f17f2fbc42b504dbf
           914188563620ffddd36f0aa36c34610d02aee24b))

Or something like that. It wouldn't be too hard to write a little utility to convert that to VCG or DOT or whatever, while selecting the appropriate information to display. Would anyone object to doing it that way?





reply via email to

[Prev in Thread] Current Thread [Next in Thread]