Package org.eclipse.jgit.api
Class StashApplyCommand
- java.lang.Object
-
- org.eclipse.jgit.api.GitCommand<ObjectId>
-
- org.eclipse.jgit.api.StashApplyCommand
-
- All Implemented Interfaces:
java.util.concurrent.Callable<ObjectId>
public class StashApplyCommand extends GitCommand<ObjectId>
Command class to apply a stashed commit. This class behaves like git stash apply --index, i.e. it tries to recover the stashed index state in addition to the working tree state.- Since:
- 2.0
- See Also:
- Git documentation about Stash
-
-
Field Summary
Fields Modifier and Type Field Description private ContentMergeStrategy
contentStrategy
private static java.lang.String
DEFAULT_REF
private boolean
ignoreRepositoryState
private boolean
restoreIndex
private boolean
restoreUntracked
private java.lang.String
stashRef
private MergeStrategy
strategy
-
Fields inherited from class org.eclipse.jgit.api.GitCommand
repo
-
-
Constructor Summary
Constructors Constructor Description StashApplyCommand(Repository repo)
Create command to apply the changes of a stashed commit
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description ObjectId
call()
private void
checkoutPath(DirCacheEntry entry, ObjectReader reader, DirCacheCheckout.CheckoutMetadata checkoutMetadata)
private ObjectId
getStashId()
StashApplyCommand
ignoreRepositoryState(boolean willIgnoreRepositoryState)
Whether to ignore the repository state when applying the stashprivate void
resetIndex(RevTree tree)
private void
resetUntracked(RevTree tree)
void
setApplyIndex(boolean applyIndex)
Deprecated.usesetRestoreIndex(boolean)
insteadvoid
setApplyUntracked(boolean applyUntracked)
Deprecated.usesetRestoreUntracked(boolean)
insteadStashApplyCommand
setContentMergeStrategy(ContentMergeStrategy strategy)
Sets the content merge strategy to use if themerge strategy
is "resolve" or "recursive".StashApplyCommand
setRestoreIndex(boolean restoreIndex)
Whether to restore the index stateStashApplyCommand
setRestoreUntracked(boolean restoreUntracked)
Whether the command should restore untracked filesStashApplyCommand
setStashRef(java.lang.String stashRef)
Set the stash reference to applyStashApplyCommand
setStrategy(MergeStrategy strategy)
Set theMergeStrategy
to use.-
Methods inherited from class org.eclipse.jgit.api.GitCommand
checkCallable, getRepository, setCallable
-
-
-
-
Field Detail
-
DEFAULT_REF
private static final java.lang.String DEFAULT_REF
- See Also:
- Constant Field Values
-
stashRef
private java.lang.String stashRef
-
restoreIndex
private boolean restoreIndex
-
restoreUntracked
private boolean restoreUntracked
-
ignoreRepositoryState
private boolean ignoreRepositoryState
-
strategy
private MergeStrategy strategy
-
contentStrategy
private ContentMergeStrategy contentStrategy
-
-
Constructor Detail
-
StashApplyCommand
public StashApplyCommand(Repository repo)
Create command to apply the changes of a stashed commit- Parameters:
repo
- theRepository
to apply the stash to
-
-
Method Detail
-
setStashRef
public StashApplyCommand setStashRef(java.lang.String stashRef)
Set the stash reference to applyThis will default to apply the latest stashed commit (stash@{0}) if unspecified
- Parameters:
stashRef
- name of the stashRef
to apply- Returns:
this
-
ignoreRepositoryState
public StashApplyCommand ignoreRepositoryState(boolean willIgnoreRepositoryState)
Whether to ignore the repository state when applying the stash- Parameters:
willIgnoreRepositoryState
- whether to ignore the repository state when applying the stash- Returns:
this
- Since:
- 3.2
-
getStashId
private ObjectId getStashId() throws GitAPIException
- Throws:
GitAPIException
-
call
public ObjectId call() throws GitAPIException, WrongRepositoryStateException, NoHeadException, StashApplyFailureException
Execute the command
Apply the changes in a stashed commit to the working directory and index
- Specified by:
call
in interfacejava.util.concurrent.Callable<ObjectId>
- Specified by:
call
in classGitCommand<ObjectId>
- Throws:
GitAPIException
WrongRepositoryStateException
NoHeadException
StashApplyFailureException
-
setApplyIndex
@Deprecated public void setApplyIndex(boolean applyIndex)
Deprecated.usesetRestoreIndex(boolean)
insteadWhether to restore the index state- Parameters:
applyIndex
- true (default) if the command should restore the index state
-
setRestoreIndex
public StashApplyCommand setRestoreIndex(boolean restoreIndex)
Whether to restore the index state- Parameters:
restoreIndex
- true (default) if the command should restore the index state- Returns:
this
- Since:
- 5.3
-
setStrategy
public StashApplyCommand setStrategy(MergeStrategy strategy)
Set theMergeStrategy
to use.- Parameters:
strategy
- The merge strategy to use in order to merge during this command execution.- Returns:
this
- Since:
- 3.4
-
setContentMergeStrategy
public StashApplyCommand setContentMergeStrategy(ContentMergeStrategy strategy)
Sets the content merge strategy to use if themerge strategy
is "resolve" or "recursive".- Parameters:
strategy
- theContentMergeStrategy
to be used- Returns:
this
- Since:
- 5.12
-
setApplyUntracked
@Deprecated public void setApplyUntracked(boolean applyUntracked)
Deprecated.usesetRestoreUntracked(boolean)
insteadWhether the command should restore untracked files- Parameters:
applyUntracked
- true (default) if the command should restore untracked files- Since:
- 3.4
-
setRestoreUntracked
public StashApplyCommand setRestoreUntracked(boolean restoreUntracked)
Whether the command should restore untracked files- Parameters:
restoreUntracked
- true (default) if the command should restore untracked files- Returns:
this
- Since:
- 5.3
-
resetIndex
private void resetIndex(RevTree tree) throws java.io.IOException
- Throws:
java.io.IOException
-
resetUntracked
private void resetUntracked(RevTree tree) throws CheckoutConflictException, java.io.IOException
- Throws:
CheckoutConflictException
java.io.IOException
-
checkoutPath
private void checkoutPath(DirCacheEntry entry, ObjectReader reader, DirCacheCheckout.CheckoutMetadata checkoutMetadata)
-
-