use super::*;
#[derive(Deserialize, Debug, Default)]
#[cfg_attr(feature = "ts-rs", derive(TS), ts(export, export_to = "app/messages/"))]
pub struct MutationOptions {
pub ignore_immutable: bool,
}
#[derive(Serialize, Clone, Debug)]
#[serde(tag = "type")]
#[cfg_attr(feature = "ts-rs", derive(TS), ts(export, export_to = "app/messages/"))]
#[allow(clippy::large_enum_variant)]
pub enum MutationResult {
Unchanged,
Updated {
new_status: RepoStatus,
new_selection: Option<RevHeader>,
},
Reconfigured {
new_config: RepoConfig,
},
InputRequired {
request: InputRequest,
},
PreconditionError {
message: String,
},
InternalError {
message: MultilineString,
},
}
#[derive(Deserialize, Debug)]
#[serde(tag = "type")]
#[cfg_attr(feature = "ts-rs", derive(TS), ts(export, export_to = "app/messages/"))]
pub enum GitRefspec {
AllBookmarks {
remote_name: String,
},
AllRemotes {
bookmark_ref: StoreRef,
},
RemoteBookmark {
remote_name: String,
bookmark_ref: StoreRef,
},
}
#[derive(Deserialize)]
#[cfg_attr(feature = "ts-rs", derive(TS), ts(export, export_to = "app/messages/"))]
pub struct CloneRepository {
pub url: String,
pub path: String,
pub colocated: bool,
}
#[derive(Deserialize)]
#[cfg_attr(feature = "ts-rs", derive(TS), ts(export, export_to = "app/messages/"))]
pub struct InitRepository {
pub path: String,
pub colocated: bool,
}
#[derive(Deserialize, Debug)]
#[cfg_attr(feature = "ts-rs", derive(TS), ts(export, export_to = "app/messages/"))]
pub struct CheckoutRevision {
pub id: RevId,
}
#[derive(Deserialize, Debug)]
#[cfg_attr(feature = "ts-rs", derive(TS), ts(export, export_to = "app/messages/"))]
pub struct CreateRevision {
pub set: RevSet,
}
#[derive(Deserialize, Debug)]
#[cfg_attr(feature = "ts-rs", derive(TS), ts(export, export_to = "app/messages/"))]
pub struct CreateRevisionBetween {
pub after_id: CommitId,
pub before_id: RevId,
}
#[derive(Deserialize, Debug)]
#[cfg_attr(feature = "ts-rs", derive(TS), ts(export, export_to = "app/messages/"))]
pub struct InsertRevisions {
pub set: RevSet,
pub after_id: RevId,
pub before_id: RevId,
}
#[derive(Deserialize, Debug)]
#[cfg_attr(feature = "ts-rs", derive(TS), ts(export, export_to = "app/messages/"))]
pub struct MoveRevisions {
pub set: RevSet,
pub parent_ids: Vec<RevId>,
}
#[derive(Deserialize, Debug)]
#[cfg_attr(feature = "ts-rs", derive(TS), ts(export, export_to = "app/messages/"))]
pub struct AdoptRevision {
pub id: RevId,
pub parent_ids: Vec<CommitId>,
}
#[derive(Deserialize, Debug)]
#[cfg_attr(feature = "ts-rs", derive(TS), ts(export, export_to = "app/messages/"))]
pub struct MoveHunk {
pub from_id: RevId,
pub to_id: CommitId,
pub path: TreePath,
pub hunk: ChangeHunk,
}
#[derive(Deserialize, Debug)]
#[cfg_attr(feature = "ts-rs", derive(TS), ts(export, export_to = "app/messages/"))]
pub struct CopyHunk {
pub from_id: CommitId, pub to_id: RevId,
pub path: TreePath,
pub hunk: ChangeHunk,
}
#[derive(Deserialize, Debug)]
#[cfg_attr(feature = "ts-rs", derive(TS), ts(export, export_to = "app/messages/"))]
pub struct DescribeRevision {
pub id: RevId,
pub new_description: String,
pub reset_author: bool,
}
#[derive(Deserialize, Debug)]
#[cfg_attr(feature = "ts-rs", derive(TS), ts(export, export_to = "app/messages/"))]
pub struct DuplicateRevisions {
pub set: RevSet,
}
#[derive(Deserialize, Debug)]
#[cfg_attr(feature = "ts-rs", derive(TS), ts(export, export_to = "app/messages/"))]
pub struct AbandonRevisions {
pub set: RevSet,
}
#[derive(Deserialize, Debug)]
#[cfg_attr(feature = "ts-rs", derive(TS), ts(export, export_to = "app/messages/"))]
pub struct BackoutRevisions {
pub set: RevSet,
}
#[derive(Deserialize, Debug)]
#[cfg_attr(feature = "ts-rs", derive(TS), ts(export, export_to = "app/messages/"))]
pub struct MoveChanges {
pub from: RevSet,
pub to_id: CommitId, pub paths: Vec<TreePath>,
}
#[derive(Deserialize, Debug)]
#[cfg_attr(feature = "ts-rs", derive(TS), ts(export, export_to = "app/messages/"))]
pub struct CopyChanges {
pub from_id: CommitId, pub to_set: RevSet,
pub paths: Vec<TreePath>,
}
#[derive(Deserialize, Debug)]
#[cfg_attr(feature = "ts-rs", derive(TS), ts(export, export_to = "app/messages/"))]
pub struct TrackBookmark {
pub r#ref: StoreRef,
}
#[derive(Deserialize, Debug)]
#[cfg_attr(feature = "ts-rs", derive(TS), ts(export, export_to = "app/messages/"))]
pub struct UntrackBookmark {
pub r#ref: StoreRef,
}
#[derive(Deserialize, Debug)]
#[cfg_attr(feature = "ts-rs", derive(TS), ts(export, export_to = "app/messages/"))]
pub struct RenameBookmark {
pub r#ref: StoreRef,
pub new_name: String,
}
#[derive(Deserialize, Debug)]
#[cfg_attr(feature = "ts-rs", derive(TS), ts(export, export_to = "app/messages/"))]
pub struct CreateRef {
pub id: RevId,
pub r#ref: StoreRef,
}
#[derive(Deserialize, Debug)]
#[cfg_attr(feature = "ts-rs", derive(TS), ts(export, export_to = "app/messages/"))]
pub struct DeleteRef {
pub r#ref: StoreRef,
}
#[derive(Deserialize, Debug)]
#[cfg_attr(feature = "ts-rs", derive(TS), ts(export, export_to = "app/messages/"))]
pub struct MoveRef {
pub r#ref: StoreRef,
pub to_id: RevId,
}
#[derive(Deserialize, Debug)]
#[cfg_attr(feature = "ts-rs", derive(TS), ts(export, export_to = "app/messages/"))]
pub struct GitPush {
pub refspec: GitRefspec,
#[serde(default)]
pub input: Option<InputResponse>,
}
#[derive(Deserialize, Debug)]
#[cfg_attr(feature = "ts-rs", derive(TS), ts(export, export_to = "app/messages/"))]
pub struct GitFetch {
pub refspec: GitRefspec,
#[serde(default)]
pub input: Option<InputResponse>,
}
#[derive(Deserialize, Debug)]
#[cfg_attr(feature = "ts-rs", derive(TS), ts(export, export_to = "app/messages/"))]
pub struct UndoOperation;
#[derive(Deserialize, Debug)]
#[cfg_attr(feature = "ts-rs", derive(TS), ts(export, export_to = "app/messages/"))]
pub struct ForgetWorkspace {
pub name: String,
}
#[derive(Deserialize, Debug)]
#[cfg_attr(feature = "ts-rs", derive(TS), ts(export, export_to = "app/messages/"))]
pub struct OpenWorkspace {
pub name: String,
}
#[derive(Deserialize, Debug)]
#[cfg_attr(feature = "ts-rs", derive(TS), ts(export, export_to = "app/messages/"))]
pub struct RenameWorkspace {
pub name: String,
pub new_name: String,
}
#[derive(Deserialize, Debug)]
#[cfg_attr(feature = "ts-rs", derive(TS), ts(export, export_to = "app/messages/"))]
pub struct ExternalDiff {
pub id: RevId,
pub path: TreePath,
}
#[derive(Deserialize, Debug)]
#[cfg_attr(feature = "ts-rs", derive(TS), ts(export, export_to = "app/messages/"))]
pub struct ExternalResolve {
pub id: RevId,
pub path: TreePath,
}