ICommand Interface

Summary

This interface must be implemented by all classes that implement the command pattern for executing Mercurial and TortoiseHg commands.
Assembly
Mercurial.Net.dll
Namespace
Mercurial
Implementing Types
graph TD Type["ICommand"] class Type type-node Type-.->Implementing0["UserConfigGuiCommand"] click Implementing0 "/Cake.Hg/api/Mercurial.Gui/UserConfigGuiCommand" Type-.->Implementing1["ArchiveGuiCommand"] click Implementing1 "/Cake.Hg/api/Mercurial.Gui/ArchiveGuiCommand" Type-.->Implementing2["DragCopyGuiCommand"] click Implementing2 "/Cake.Hg/api/Mercurial.Gui/DragCopyGuiCommand" Type-.->Implementing3["QueueReorderGuiCommand"] click Implementing3 "/Cake.Hg/api/Mercurial.Gui/QueueReorderGuiCommand" Type-.->Implementing4["MoveCommand"] click Implementing4 "/Cake.Hg/api/Mercurial/MoveCommand" Type-.->Implementing5["UpdateCommand"] click Implementing5 "/Cake.Hg/api/Mercurial/UpdateCommand" Type-.->Implementing6["DragMoveGuiCommand"] click Implementing6 "/Cake.Hg/api/Mercurial.Gui/DragMoveGuiCommand" Type-.->Implementing7["AddGuiCommand"] click Implementing7 "/Cake.Hg/api/Mercurial.Gui/AddGuiCommand" Type-.->Implementing8["BundleCommand"] click Implementing8 "/Cake.Hg/api/Mercurial/BundleCommand" Type-.->Implementing9["FilesBasedGuiCommandBase<T>"] click Implementing9 "/Cake.Hg/api/Mercurial.Gui/FilesBasedGuiCommandBase_1" Type-.->Implementing10["BrowserGuiCommandBase<T>"] click Implementing10 "/Cake.Hg/api/Mercurial.Gui/BrowserGuiCommandBase_1" Type-.->Implementing11["ResolveGuiCommand"] click Implementing11 "/Cake.Hg/api/Mercurial.Gui/ResolveGuiCommand" Type-.->Implementing12["ArchiveCommand"] click Implementing12 "/Cake.Hg/api/Mercurial/ArchiveCommand" Type-.->Implementing13["SummaryCommand"] click Implementing13 "/Cake.Hg/api/Mercurial/SummaryCommand" Type-.->Implementing14["CustomCommand"] click Implementing14 "/Cake.Hg/api/Mercurial/CustomCommand" Type-.->Implementing15["QueueManagerGuiCommand"] click Implementing15 "/Cake.Hg/api/Mercurial.Gui/QueueManagerGuiCommand" Type-.->Implementing16["CommitGuiCommand"] click Implementing16 "/Cake.Hg/api/Mercurial.Gui/CommitGuiCommand" Type-.->Implementing17["ManifestGuiCommand"] click Implementing17 "/Cake.Hg/api/Mercurial.Gui/ManifestGuiCommand" Type-.->Implementing18["DiffGuiCommand"] click Implementing18 "/Cake.Hg/api/Mercurial.Gui/DiffGuiCommand" Type-.->Implementing19["CloneGuiCommand"] click Implementing19 "/Cake.Hg/api/Mercurial.Gui/CloneGuiCommand" Type-.->Implementing20["CommandBase<T>"] click Implementing20 "/Cake.Hg/api/Mercurial/CommandBase_1" Type-.->Implementing21["IdentifyCommand"] click Implementing21 "/Cake.Hg/api/Mercurial/IdentifyCommand" Type-.->Implementing22["GuiCommandBase<T>"] click Implementing22 "/Cake.Hg/api/Mercurial.Gui/GuiCommandBase_1" Type-.->Implementing23["RemoveGuiCommand"] click Implementing23 "/Cake.Hg/api/Mercurial.Gui/RemoveGuiCommand" Type-.->Implementing24["PathsCommand"] click Implementing24 "/Cake.Hg/api/Mercurial/PathsCommand" Type-.->Implementing25["StripGuiCommand"] click Implementing25 "/Cake.Hg/api/Mercurial.Gui/StripGuiCommand" Type-.->Implementing26["AnnotateCommand"] click Implementing26 "/Cake.Hg/api/Mercurial/AnnotateCommand" Type-.->Implementing27["DatamineGuiCommand"] click Implementing27 "/Cake.Hg/api/Mercurial.Gui/DatamineGuiCommand" Type-.->Implementing28["RenameGuiCommand"] click Implementing28 "/Cake.Hg/api/Mercurial.Gui/RenameGuiCommand" Type-.->Implementing29["ParentsCommand"] click Implementing29 "/Cake.Hg/api/Mercurial/ParentsCommand" Type-.->Implementing30["HeadsCommand"] click Implementing30 "/Cake.Hg/api/Mercurial/HeadsCommand" Type-.->Implementing31["ShowConfigCommand"] click Implementing31 "/Cake.Hg/api/Mercurial/ShowConfigCommand" Type-.->Implementing32["BisectGuiCommand"] click Implementing32 "/Cake.Hg/api/Mercurial.Gui/BisectGuiCommand" Type-.->Implementing33["ShelveGuiCommand"] click Implementing33 "/Cake.Hg/api/Mercurial.Gui/ShelveGuiCommand" Type-.->Implementing34["RecoverCommand"] click Implementing34 "/Cake.Hg/api/Mercurial/RecoverCommand" Type-.->Implementing35["MoveGuiCommand"] click Implementing35 "/Cake.Hg/api/Mercurial.Gui/MoveGuiCommand" Type-.->Implementing36["AddRemoveCommand"] click Implementing36 "/Cake.Hg/api/Mercurial/AddRemoveCommand" Type-.->Implementing37["OutgoingCommand"] click Implementing37 "/Cake.Hg/api/Mercurial/OutgoingCommand" Type-.->Implementing38["AddCommand"] click Implementing38 "/Cake.Hg/api/Mercurial/AddCommand" Type-.->Implementing39["RevertGuiCommand"] click Implementing39 "/Cake.Hg/api/Mercurial.Gui/RevertGuiCommand" Type-.->Implementing40["InitCommand"] click Implementing40 "/Cake.Hg/api/Mercurial/InitCommand" Type-.->Implementing41["VersionCommand"] click Implementing41 "/Cake.Hg/api/Mercurial/VersionCommand" Type-.->Implementing42["SearchGuiCommand"] click Implementing42 "/Cake.Hg/api/Mercurial.Gui/SearchGuiCommand" Type-.->Implementing43["RepoConfigGuiCommand"] click Implementing43 "/Cake.Hg/api/Mercurial.Gui/RepoConfigGuiCommand" Type-.->Implementing44["MergeGuiCommand"] click Implementing44 "/Cake.Hg/api/Mercurial.Gui/MergeGuiCommand" Type-.->Implementing45["UpdateGuiCommand"] click Implementing45 "/Cake.Hg/api/Mercurial.Gui/UpdateGuiCommand" Type-.->Implementing46["QueueGuiCommand"] click Implementing46 "/Cake.Hg/api/Mercurial.Gui/QueueGuiCommand" Type-.->Implementing47["HelpCommand"] click Implementing47 "/Cake.Hg/api/Mercurial/HelpCommand" Type-.->Implementing48["ImportGuiCommand"] click Implementing48 "/Cake.Hg/api/Mercurial.Gui/ImportGuiCommand" Type-.->Implementing49["UnbundleCommand"] click Implementing49 "/Cake.Hg/api/Mercurial/UnbundleCommand" Type-.->Implementing50["BookmarkCommand"] click Implementing50 "/Cake.Hg/api/Mercurial/BookmarkCommand" Type-.->Implementing51["MoveRenameCommandBase<T>"] click Implementing51 "/Cake.Hg/api/Mercurial/MoveRenameCommandBase_1" Type-.->Implementing52["MercurialCommandBase<T>"] click Implementing52 "/Cake.Hg/api/Mercurial/MercurialCommandBase_1" Type-.->Implementing53["PurgeGuiCommand"] click Implementing53 "/Cake.Hg/api/Mercurial.Gui/PurgeGuiCommand" Type-.->Implementing54["BisectCommand"] click Implementing54 "/Cake.Hg/api/Mercurial/BisectCommand" Type-.->Implementing55["VerifyCommand"] click Implementing55 "/Cake.Hg/api/Mercurial/VerifyCommand" Type-.->Implementing56["AboutGuiCommand"] click Implementing56 "/Cake.Hg/api/Mercurial.Gui/AboutGuiCommand" Type-.->Implementing57["RevertCommand"] click Implementing57 "/Cake.Hg/api/Mercurial/RevertCommand" Type-.->Implementing58["BranchesCommand"] click Implementing58 "/Cake.Hg/api/Mercurial/BranchesCommand" Type-.->Implementing59["TagGuiCommand"] click Implementing59 "/Cake.Hg/api/Mercurial.Gui/TagGuiCommand" Type-.->Implementing60["PushCommand"] click Implementing60 "/Cake.Hg/api/Mercurial/PushCommand" Type-.->Implementing61["GuessGuiCommand"] click Implementing61 "/Cake.Hg/api/Mercurial.Gui/GuessGuiCommand" Type-.->Implementing62["BackoutGuiCommand"] click Implementing62 "/Cake.Hg/api/Mercurial.Gui/BackoutGuiCommand" Type-.->Implementing63["CopyCommand"] click Implementing63 "/Cake.Hg/api/Mercurial/CopyCommand" Type-.->Implementing64["SynchronizeGuiCommand"] click Implementing64 "/Cake.Hg/api/Mercurial.Gui/SynchronizeGuiCommand" Type-.->Implementing65["EditIgnoreFiltersGuiCommand"] click Implementing65 "/Cake.Hg/api/Mercurial.Gui/EditIgnoreFiltersGuiCommand" Type-.->Implementing66["ShellConfigGuiCommand"] click Implementing66 "/Cake.Hg/api/Mercurial.Gui/ShellConfigGuiCommand" Type-.->Implementing67["CloneCommand"] click Implementing67 "/Cake.Hg/api/Mercurial/CloneCommand" Type-.->Implementing68["PullCommand"] click Implementing68 "/Cake.Hg/api/Mercurial/PullCommand" Type-.->Implementing69["MoveCopyRenameGuiCommandBase<T>"] click Implementing69 "/Cake.Hg/api/Mercurial.Gui/MoveCopyRenameGuiCommandBase_1" Type-.->Implementing70["RecoveryGuiCommand"] click Implementing70 "/Cake.Hg/api/Mercurial.Gui/RecoveryGuiCommand" Type-.->Implementing71["DragCopyMoveGuiCommandBase<T>"] click Implementing71 "/Cake.Hg/api/Mercurial.Gui/DragCopyMoveGuiCommandBase_1" Type-.->Implementing72["ForgetGuiCommand"] click Implementing72 "/Cake.Hg/api/Mercurial.Gui/ForgetGuiCommand" Type-.->Implementing73["IMercurialCommand<TResult>"] click Implementing73 "/Cake.Hg/api/Mercurial/IMercurialCommand_1" Type-.->Implementing74["ManifestCommand"] click Implementing74 "/Cake.Hg/api/Mercurial/ManifestCommand" Type-.->Implementing75["CopyGuiCommand"] click Implementing75 "/Cake.Hg/api/Mercurial.Gui/CopyGuiCommand" Type-.->Implementing76["ChurnCommand"] click Implementing76 "/Cake.Hg/api/Mercurial.Extensions.Churn/ChurnCommand" Type-.->Implementing77["TagsCommand"] click Implementing77 "/Cake.Hg/api/Mercurial/TagsCommand" Type-.->Implementing78["BookmarksCommand"] click Implementing78 "/Cake.Hg/api/Mercurial/BookmarksCommand" Type-.->Implementing79["IGuiCommand"] click Implementing79 "/Cake.Hg/api/Mercurial.Gui/IGuiCommand" Type-.->Implementing80["CatCommand"] click Implementing80 "/Cake.Hg/api/Mercurial/CatCommand" Type-.->Implementing81["DiffCommand"] click Implementing81 "/Cake.Hg/api/Mercurial/DiffCommand" Type-.->Implementing82["RejectsGuiCommand"] click Implementing82 "/Cake.Hg/api/Mercurial.Gui/RejectsGuiCommand" Type-.->Implementing83["IMercurialCommand"] click Implementing83 "/Cake.Hg/api/Mercurial/IMercurialCommand" Type-.->Implementing84["IncomingCommand"] click Implementing84 "/Cake.Hg/api/Mercurial/IncomingCommand" Type-.->Implementing85["RenameCommand"] click Implementing85 "/Cake.Hg/api/Mercurial/RenameCommand" Type-.->Implementing86["TipCommand"] click Implementing86 "/Cake.Hg/api/Mercurial/TipCommand" Type-.->Implementing87["CommitCommand"] click Implementing87 "/Cake.Hg/api/Mercurial/CommitCommand" Type-.->Implementing88["ForgetCommand"] click Implementing88 "/Cake.Hg/api/Mercurial/ForgetCommand" Type-.->Implementing89["GuiVersionCommand"] click Implementing89 "/Cake.Hg/api/Mercurial.Gui/GuiVersionCommand" Type-.->Implementing90["LogGuiCommand"] click Implementing90 "/Cake.Hg/api/Mercurial.Gui/LogGuiCommand" Type-.->Implementing91["BackoutCommand"] click Implementing91 "/Cake.Hg/api/Mercurial/BackoutCommand" Type-.->Implementing92["MergeCommand"] click Implementing92 "/Cake.Hg/api/Mercurial/MergeCommand" Type-.->Implementing93["RebaseGuiCommand"] click Implementing93 "/Cake.Hg/api/Mercurial.Gui/RebaseGuiCommand" Type-.->Implementing94["RollbackCommand"] click Implementing94 "/Cake.Hg/api/Mercurial/RollbackCommand" Type-.->Implementing95["StatusGuiCommand"] click Implementing95 "/Cake.Hg/api/Mercurial.Gui/StatusGuiCommand" Type-.->Implementing96["StatusCommand"] click Implementing96 "/Cake.Hg/api/Mercurial/StatusCommand" Type-.->Implementing97["ResolveCommand"] click Implementing97 "/Cake.Hg/api/Mercurial/ResolveCommand" Type-.->Implementing98["InitGuiCommand"] click Implementing98 "/Cake.Hg/api/Mercurial.Gui/InitGuiCommand" Type-.->Implementing99["RemoteInitCommand"] click Implementing99 "/Cake.Hg/api/Mercurial/RemoteInitCommand" Type-.->Implementing100["AnnotateGuiCommand"] click Implementing100 "/Cake.Hg/api/Mercurial.Gui/AnnotateGuiCommand" Type-.->Implementing101["TagCommand"] click Implementing101 "/Cake.Hg/api/Mercurial/TagCommand" Type-.->Implementing102["LogCommand"] click Implementing102 "/Cake.Hg/api/Mercurial/LogCommand" Type-.->Implementing103["EmailGuiCommand"] click Implementing103 "/Cake.Hg/api/Mercurial.Gui/EmailGuiCommand" Type-.->Implementing104["MPatchGuiCommand"] click Implementing104 "/Cake.Hg/api/Mercurial.Gui/MPatchGuiCommand" Type-.->Implementing105["IncludeExcludeCommandBase<T>"] click Implementing105 "/Cake.Hg/api/Mercurial/IncludeExcludeCommandBase_1" Type-.->Implementing106["RemoveCommand"] click Implementing106 "/Cake.Hg/api/Mercurial/RemoveCommand" Type-.->Implementing107["BranchCommand"] click Implementing107 "/Cake.Hg/api/Mercurial/BranchCommand"

Syntax

public interface ICommand

Properties

Name Value Summary
AdditionalArguments Collection<T>
Gets any additional arguments to the Command, or an empty collection if there are none.
Arguments IEnumerable<T>
Gets all the arguments to the Command, or an empty array if there are none.
Command string
Gets the command to execute with the Mercurial command line client.
Observer IMercurialCommandObserver
Gets the IMercurialCommandObserver that will be informed of execution progress. Can be null in case there is no observer.
Timeout int
Gets the timeout in seconds for how long to wait for the command to complete successfully before terminating it and throwing an exception. A typical default value is 60.

Methods

Name Value Summary
After(int, string, string) void
This method is called after the command has been executed. You can use this to clean up after the command execution (like removing temporary files), and to react to the exit code from the command line client. If the exit code is considered a failure, this method should throw the correct exception.
Before() void
This method is called before the command is executed. You can use this to store temporary files (like a commit message or similar) that the Arguments refer to, before the command is executed.
Validate() void
Validates the command configuration. This method should throw the necessary exceptions to signal missing or incorrect configuration (like attempting to add files to the repository without specifying which files to add.)