Provided by: libgit-raw-perl_0.88+ds-1build1_amd64
NAME
Git::Raw::Index - Git index class
VERSION
version 0.88
DESCRIPTION
A Git::Raw::Index represents an index in a Git repository. WARNING: The API of this module is unstable and may change without warning (any change will be appropriately documented in the changelog).
METHODS
new( ) Create a new in-memory index. This is currently of little use. owner( ) Retrieve the Git::Raw::Repository owning the index. add( $entry ) Add $entry to the index. $entry should either be the path of a file or alternatively a Git::Raw::Index::Entry. add_frombuffer( $path, $buffer, [$mode] ) Add or update an entry from an in-memory file. The entry will be placed at $path with the contents of $buffer. $buffer may either be string or a reference to a string. $mode is the file mode; it defaults to 0100644. Returns a Git::Raw::Index::Entry object. add_all( \%opts ) Add or update all index entries to match the working directory. Valid fields for the %opts hash are: • "paths" List of path patterns to add. • "flags" Valid fields for the %flags member: • "force" Forced addition of files (even if they are ignored). • "disable_pathspec_match" Disable pathspec pattern matching against entries in $paths. • "check_pathspec" Enable pathspec pattern matching against entries in $paths (default). • "notification" The callback to be called for each added or updated item. Receives the $path and matching $pathspec. This callback should return 0 if the file should be added to the index, ">0" if it should be skipped or "<0" to abort. find( $path ) Find the first Git::Raw::Index::Entry which points to a given $path. If an entry cannot be found, this function will return "undef". remove( $path ) Remove $path from the index. remove_all( \%opts ) Remove all matching index entries. See "Git::Raw::Index->update_all()" for valid %opts values. path( ) Retrieve the full path to the index file on disk. checksum( ) Retrieve the SHA-1 checksum over the index file, except for the last 20 bytes which is the checksum content itself. If the index does not exist on-disk an empty OID will be returned. clear( ) Clear the index. read( [$force] ) Update the index, reading it from disk. write( ) Write the index to disk. read_tree( $tree ) Replace the index content with $tree. write_tree( [$repo] ) Create a new tree from the index and write it to disk. $repo optionally indicates which Git::Raw::Repository the tree should be written to. Returns a Git::Raw::Tree object. checkout( [\%checkout_opts] ) Update files in the working tree to match the contents of the index. See "Git::Raw::Repository->checkout()" for valid %checkout_opts values. entry_count( ) Retrieve the number of entries in the index. entries( ) Retrieve index entries. Returns a list of Git::Raw::Index::Entry objects. add_conflict( $ancestor, $theirs, $ours) Add a new conflict entry. $ancestor, $theirs and $ours should be Git::Raw::Index::Entry objects. get_conflict( $path ) Get the conflict entry for $path. If $path has no conflict entry, this function will return "undef". remove_conflict( $path ) Remove $path from the index. has_conflicts( ) Determine if the index contains entries representing file conflicts. conflict_cleanup( ) Remove all conflicts in the index (entries with a stage greater than 0). conflicts( ) Retrieve index entries that represent a conflict. Returns a list of Git::Raw::Index::Conflict objects. merge( $ancestor, $theirs, $ours, [\%merge_opts] ) Merge two files as they exist in the index. $ancestor, $theirs and $ours should be Git::Raw::Index::Entry objects. Returns a Git::Raw::Merge::File::Result object. Valid fields for the %merge_opts hash are: • "our_label" The name of the "our" side of conflicts. • "their_label" The name of the "their" side of conflicts. • "ancestor_label" The name of the common ancestor side of conflicts. • "favor" Specify content automerging behaviour. Valid values are "ours", "theirs", and "union". • "marker_size" The size of conflict markers. • "flags" Merge file flags. Valid values include: • "merge" Create standard conflicted merge file. • "diff3" Create diff3-style files. • "simplify_alnum" Condense non-alphanumeric regions for simplified diff file. • "ignore_whitespace" Ignore all whitespace. • "ignore_whitespace_change" Ignore changes in amount of whitespace. • "ignore_whitespace_eol" Ignore whitespace at end of line. • "patience" Use the "patience diff" algorithm. • "minimal" Take extra time to find minimal diff. update_all( \%opts ) Update all index entries to match the working directory. Valid fields for the %opts hash are: • "paths" List of path patterns to add. • "notification" The callback to be called for each updated item. Receives the $path and matching $pathspec. This callback should return 0 if the file should be added to the index, ">0" if it should be skipped, or "<0" to abort. capabilities( ) Retrieve the index's capabilities. Returns a hash with members "ignore_case", "no_filemode" and "no_symlinks", each indicating if the Git::Raw::Index supports the capability. version( [$version] ) Retrieve or set the index version.
AUTHOR
Alessandro Ghedini <alexbio@cpan.org> Jacques Germishuys <jacquesg@striata.com>
LICENSE AND COPYRIGHT
Copyright 2012 Alessandro Ghedini. This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License. See http://dev.perl.org/licenses/ for more information.