=head1 NAME

botch-graph2text - for each vertex in a graph print a formatted line on standard output

=head1 SYNOPSIS

=over

=item B<botch-graph2text> [options] [I<ingraph>] formatstring

=back

=head1 DESCRIPTION

Given a B<formatstring> of the form C<{attr1} {attr2}...>, print a line with
this format for every vertex in the graph, replacing C<{attr}> placeholders
with the value of the attribute C<"attr"> for that vertex. If no attribute with
name C<"attr"> was found, then the placeholder C<{XXX}> remains in the output
string. To write a literal opening or closing curly brace, type them twice,
respectively.  The special placeholder C<{__ID__}> is replaced with the vertex
identifier.

If the positional arguments is omitted, then read GraphML or dot from standard
input.  Passing a '-' as either argument, explicitly specifies to read the
input from standard input. The input graph type will be determined
automatically.

=head1 OPTIONS

=over 4

=item B<-h, --help>

Display help.

=item B<--vertex=>I<VERT>

This option picks the set of vertices that will be output. The VERT argument is
a key/value pair (separated by a colon) of a graph attribute and its value. By
default (without this option), all vertices of the graph are considered.

The special key C<__ID__> allows one to select the unique vertex identifier.

This option can be specified more than once. The final set of vertices is
chosen such that all vertices match all key/value pairs. Multiple B<--vertex>
options thus form a logical conjunction (they are AND-ed together).

=item B<-v, --verbose>

Be verbose.

=back

=head1 EXAMPLE

Find all source packages that build depend on C<texlive-binaries:amd64 (=2015.20150524.37493-5)>.

Using package selection and reverse dependency cone computation by ceve:

	dose-ceve -r "texlive-binaries:amd64 (= 2015.20150524.37493-5)" --deb-native-arch=amd64 -G pkg -T grml deb://Packages debsrc://Sources \
		| botch-graph-sources - - \
		| botch-graph2text - "{realpackage} (= {realversion})" --vertex type:src \
		| sort

Using package selection and ancestor vertex computation by botch:

	dose-ceve --deb-native-arch=amd64 -G pkg -T grml deb://Packages debsrc://Sources \
		| botch-graph-ancestors - - --target realpackage:texlive-binaries:amd64 realversion:2015.20150524.37493-5 \
		| botch-graph-sources - - \
		| botch-graph2text - "{realpackage} (= {realversion})" --vertex type:src \
		| sort

=head1 BUGS

See L<http://bugs.debian.org/botch>.

=head1 SEE ALSO

Debian doc-base Manual F</usr/share/doc/botch/wiki/Home.html>

=head1 AUTHOR

This man page was written by Johannes Schauer. Botch is written by Johannes
Schauer and Pietro Abate.

=head1 COPYRIGHT

Copyright 2012-2014 Johannes Schauer, Pietro Abate

This program is free software: you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the Free
Software Foundation, either version 3 of the License, or (at your option) any
later version. A special linking exception to the GNU Lesser General Public
License applies to this library, see the COPYING file for more information.

