Interface GitScmCommandBuilder

All Superinterfaces:
com.atlassian.bitbucket.scm.CommandBuilder<GitScmCommandBuilder>, com.atlassian.bitbucket.scm.CommandBuilderSupport<GitScmCommandBuilder>, GitCommandBuilderSupport<GitScmCommandBuilder>, GitTypedCommandBuilder<GitScmCommandBuilder>, com.atlassian.bitbucket.scm.ScmCommandBuilder<GitScmCommandBuilder>

@NotThreadSafe public interface GitScmCommandBuilder extends GitTypedCommandBuilder<GitScmCommandBuilder>
Augments the free-form ScmCommandBuilder with git-specific type-safe builders, to simplify using well-known commands.

Type-safe builders are not provided for all of the commands supported by the git binary, and the builders that are provided may not expose properties for all of the different arguments or argument combinations the command offers. Free-form and type-safe builder semantics may not be mixed. If a type-safe builder does not exist for the desired command, or it does not support the desired arguments, the free-form builder must be used instead.

For type-safe builders provided, the git command associated with the builder is used to name the interface and the method. Note that some commands accept arguments which, when provided, enable the use of other arguments, or trigger the command to produce significantly different output. For such commands, like blame and cat-file, an interim interface is returned to allow the caller to choose the "mode" the command will run in. Once a mode has been chosen, a builder will be returned exposing arguments supported for that mode.