NAME

Git::Raw::Stash - Git stash class

VERSION

version 0.54

DESCRIPTION

Helper class to manage stashes.

WARNING: The API of this module is unstable and may change without warning (any change will be appropriately documented in the changelog).

METHODS

save( $repo, $stasher, $msg [, \@opts] )

Save the local modifications to a new stash. Non-default options may be specified by providing the optional @opts argument. If files were stashed, this function will return a Git::Raw::Commit object, otherwise undef.

Valid fields for the @opts array are:

  • "keep_index"

    All changes already added to the index are left intact in the working directory. The default is to also stash changes in the index.

  • "include_untracked"

    All untracked files are also stashed and then cleaned up from the working directory. The default is to leave untracked files in the working directory.

  • "include_ignored"

    All ignored files are also stashed and then cleaned up up from the working directory. The default is to leave ignored files in the working directory.

foreach( $repo, $callback )

Run $callback for every stash in the repo. The callback receives three arguments: the stash $index, the stash $message and the stash $commit, a Git::Raw::Commit object. A non-zero return value will stop the loop.

drop( $repo, $index )

Remove a single stash from the stash list.

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.