prefer xdot over dot

* map: Run xdot if it's available in PATH. On OSX, the dot command
  does not support graphical display, while xdot does.
* Debian: xdot is a better interactive viewer than dot, so Suggest
  xdot, rather than graphviz.
This commit is contained in:
Joey Hess 2016-11-30 12:50:49 -04:00
parent 61a0be4fb0
commit 8354612131
No known key found for this signature in database
GPG key ID: C910D9222512E3C7
4 changed files with 25 additions and 11 deletions

View file

@ -4,6 +4,10 @@ git-annex (6.20161119) UNRELEASED; urgency=medium
largerthan, mimetype, and smallerthan; the first two always failed
to match, and the latter always matched.
* Relicense 5 source files that are not part of the webapp from AGPL to GPL.
* map: Run xdot if it's available in PATH. On OSX, the dot command
does not support graphical display, while xdot does.
* Debian: xdot is a better interactive viewer than dot, so Suggest
xdot, rather than graphviz.
-- Joey Hess <id@joeyh.name> Mon, 21 Nov 2016 11:27:50 -0400

View file

@ -47,15 +47,25 @@ start = do
liftIO $ writeFile file (drawMap rs trustmap umap)
next $ next $
ifM (Annex.getState Annex.fast)
( do
showLongNote $ "left map in " ++ file
return True
, do
showLongNote $ "running: dot -Tx11 " ++ file
showOutput
liftIO $ boolSystem "dot" [Param "-Tx11", File file]
( runViewer file []
, runViewer file
[ ("xdot", [File file])
, ("dot", [Param "-Tx11", File file])
]
)
runViewer :: FilePath -> [(String, [CommandParam])] -> Annex Bool
runViewer file [] = do
showLongNote $ "left map in " ++ file
return True
runViewer file ((c, ps):rest) = ifM (liftIO $ inPath c)
( do
showLongNote $ "running: " ++ c ++ unwords (toCommand ps)
showOutput
liftIO $ boolSystem c ps
, runViewer file rest
)
{- Generates a graph for dot(1). Each repository, and any other uuids
- (except for dead ones), are displayed as a node, and each of its
- remotes is represented as an edge pointing at the node for the remote.

2
debian/control vendored
View file

@ -110,7 +110,7 @@ Recommends:
nocache,
aria2,
Suggests:
graphviz,
xdot,
bup,
tahoe-lafs,
libnss-mdns,

View file

@ -10,8 +10,8 @@ git annex map
Helps you keep track of your repositories, and the connections between them,
by going out and looking at all the ones it can get to, and generating a
Graphviz file displaying it all. If the `dot` command is available, it is
used to display the file to your screen (using x11 backend).
Graphviz file displaying it all. If the `xdot` or `dot` command is available,
it is used to display the file to your screen.
This command only connects to hosts that the host it's run on can
directly connect to. It does not try to tunnel through intermediate hosts.
@ -37,7 +37,7 @@ on that host.
* `--fast`
Disable using `dot` to display the generated Graphviz file.
Don't display the generated Graphviz file, but save it for later use.
# SEE ALSO