oracular (3) Git::Raw::Stash.3pm.gz

Provided by: libgit-raw-perl_0.90+ds-2build3_amd64 bug

NAME

       Git::Raw::Stash - Git stash class

VERSION

       version 0.90

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

   apply( $repo, $index, [\%stash_apply_opts] )
       Apply a single stashed state from the stash list. If local changes in the working directory conflict with
       changes in the stash this function will throw a "Git::Raw::Error" exception with a
       "Git::Raw::Error::EMERGECONFLICT" error code. If you are restoring untracked files or ignored files and
       there is a conflict when applying the modified files, then those files will remain in the working
       directory. Valid fields for %stash_apply_opts include:

       •   "checkout_opts"

           See "Git::Raw::Repository->checkout()".

       •   "flags"

           •       "reinstate_index"

                   Try to reinstate not only the working tree's changes, but also the index's changes.

       •   "callbacks"

           •       "apply_progress"

                   Progress notification function. The callback receives a single $progress value which may be
                   any constant provided by "Git::Raw::Stash::Progress".

   pop( $repo, $index, [\%stash_apply_opts] )
       Apply a single stashed state from the stash list and remove it from the list if successful.

   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@cpan.org>

       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.