NAME

Git::FastExport::Block - A block in a fast-export stream

SYNOSPSIS

DESCRIPTION

Git::FastExport::Block represents blocks from a git-fast-export stream.

Internally, it is a simple hash with keys pointing either to a string or a reference to an array of strings, which makes it very easing to edit (when obtained via Git::FastExport next_block() method) or create.

The following two keys are pointing to strings:

  • header

    first line of the block

  • data

    content of the block data section

All the other keys are pointing to references to arrays of strings (each string representing a line in the fast-export stream:

  • mark

  • author

  • commiter

  • from

  • merge

  • files

  • tagger

Of course, which keys are present depend on the type of the block, which is conveniently stored in the type key.

METHODS

A Git::FastExport::Block structure is meant to be used as a hash, and is not protected by an accessor/mutator interface.

However, the module provides a method for ouputing blocks:

as_string()

Return the block as a string suitable for git-fast-import.

AUTHOR

Philippe Bruhat (BooK), <book@cpan.org>.

ACKNOWLEDGEMENTS

The original version of this module was created as part of my work for BOOKING.COM, which authorized its publication/distribution under the same terms as Perl itself.

COPYRIGHT

Copyright 2008 Philippe Bruhat (BooK), All Rights Reserved.

LICENSE

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.