NAME

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

VERSION

version 0.108

SYNOPSIS

This package is used internally by Git::FastExport.

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 easy to edit (when obtained via Git::FastExport next_block() method) or create blocks in a git fast-export stream.

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.

All other keys are ignored by "as_string".

METHODS

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

However, the module provides a method for outputing blocks:

as_string

print $block->as_string;

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

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.

AUTHOR

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

COPYRIGHT

Copyright 2008-2016 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.