Class StashCreateCommand

java.lang.Object
org.eclipse.jgit.api.GitCommand<RevCommit>
org.eclipse.jgit.api.StashCreateCommand
All Implemented Interfaces:
Callable<RevCommit>

public class StashCreateCommand extends GitCommand<RevCommit>
Command class to stash changes in the working directory and index in a commit.
Since:
2.0
See Also:
  • Field Details

  • Constructor Details

    • StashCreateCommand

      public StashCreateCommand(Repository repo)
      Create a command to stash changes in the working directory and index
      Parameters:
      repo - a Repository object.
  • Method Details

    • setIndexMessage

      public StashCreateCommand setIndexMessage(String message)
      Set the message used when committing index changes

      The message will be formatted with the current branch, abbreviated commit id, and short commit message when used.

      Parameters:
      message - the stash message
      Returns:
      this
    • setWorkingDirectoryMessage

      public StashCreateCommand setWorkingDirectoryMessage(String message)
      Set the message used when committing working directory changes

      The message will be formatted with the current branch, abbreviated commit id, and short commit message when used.

      Parameters:
      message - the working directory message
      Returns:
      this
    • setPerson

      public StashCreateCommand setPerson(PersonIdent person)
      Set the person to use as the author and committer in the commits made
      Parameters:
      person - the PersonIdent of the person who creates the stash.
      Returns:
      this
    • setRef

      public StashCreateCommand setRef(String ref)
      Set the reference to update with the stashed commit id If null, no reference is updated

      This value defaults to Constants.R_STASH

      Parameters:
      ref - the name of the Ref to update
      Returns:
      this
    • setIncludeUntracked

      public StashCreateCommand setIncludeUntracked(boolean includeUntracked)
      Whether to include untracked files in the stash.
      Parameters:
      includeUntracked - whether to include untracked files in the stash
      Returns:
      this
      Since:
      3.4
    • parseCommit

      private RevCommit parseCommit(ObjectReader reader, ObjectId headId) throws IOException
      Throws:
      IOException
    • createBuilder

      private CommitBuilder createBuilder()
    • updateStashRef

      private void updateStashRef(ObjectId commitId, PersonIdent refLogIdent, String refLogMessage) throws IOException
      Throws:
      IOException
    • getHead

      private Ref getHead() throws GitAPIException
      Throws:
      GitAPIException
    • call

      public RevCommit call() throws GitAPIException

      Execute the command

      Stash the contents on the working directory and index in separate commits and reset to the current HEAD commit.

      Specified by:
      call in interface Callable<RevCommit>
      Specified by:
      call in class GitCommand<RevCommit>
      Throws:
      GitAPIException