Class StashDropCommand

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

public class StashDropCommand extends GitCommand<ObjectId>
Command class to delete a stashed commit reference

Currently only supported on a traditional file repository using one-file-per-ref reflogs.

Since:
2.0
See Also:
  • Field Details

    • stashRefEntry

      private int stashRefEntry
    • all

      private boolean all
  • Constructor Details

    • StashDropCommand

      public StashDropCommand(Repository repo)
      Constructor for StashDropCommand.
      Parameters:
      repo - a Repository object.
  • Method Details

    • setStashRef

      public StashDropCommand setStashRef(int stashRef)
      Set the stash reference to drop (0-based).

      This will default to drop the latest stashed commit (stash@{0}) if unspecified

      Parameters:
      stashRef - the 0-based index of the stash reference
      Returns:
      this
    • setAll

      public StashDropCommand setAll(boolean all)
      Set whether to drop all stashed commits
      Parameters:
      all - true to drop all stashed commits, false to drop only the stashed commit set via calling setStashRef(int)
      Returns:
      this
    • getRef

      private Ref getRef() throws GitAPIException
      Throws:
      GitAPIException
    • createRefUpdate

      private RefUpdate createRefUpdate(Ref stashRef) throws IOException
      Throws:
      IOException
    • deleteRef

      private void deleteRef(Ref stashRef)
    • updateRef

      private void updateRef(Ref stashRef, ObjectId newId)
    • call

      public ObjectId call() throws GitAPIException

      Execute the command

      Drop the configured entry from the stash reflog and return value of the stash reference after the drop occurs

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