
=head1 名前

virt-v2v-hacking -

=head1 説明

First a little history.  Virt-v2v has been through at least two complete
rewrites, so this is probably about the third version (but we don't intend
to rewrite it again).  The previous version was written in Perl and can be
found here: L<https://git.fedorahosted.org/git/virt-v2v.git>

The current version started out as almost a line-for-line rewrite of the
Perl code in OCaml + C, and it still has a fairly similar structure.
Therefore if there are details of this code that you don't understand
(especially in the details of guest conversion), checking the Perl code may
help.

The files to start with when reading this code are:

=over 4

=item *

F<types.mli>

=item *

F<v2v.ml>

=back

F<types.mli> defines all the structures used and passed around when
communicating between different bits of the program.  F<v2v.ml> controls how
the program runs in stages.

After studying those files, you may want to branch out into the input
modules (F<input_*>), the output modules (F<output_*>) or the conversion
modules (F<convert_*>).  The input and output modules define I<-i> and I<-o>
options (see the manual).  The conversion modules define what guest types we
can handle and the detailed steps involved in converting them.

Every other file in this directory is a support module / library of some
sort.  Some code is written in C, especially where we want to use an
external C library such as libxml2.

=head1 関連項目

L<virt-p2v(1)>, L<virt-v2v(1)>.

=head1 著者

Richard W.M. Jones

=head1 COPYRIGHT

Copyright (C) 2009-2020 Red Hat Inc.

