feat(types): add Serialize/Deserialize derives to all types.rs
Add the serde 'twins' (Serialize + Deserialize) to every public struct and enum in src/*/types.rs so data types can be serialized via JSON, bincode, postcard, etc. Dependency changes: - enable 'serde' feature on gix (for gix::ObjectId) - enable 'serde' feature on time (for time::OffsetDateTime) Skipped: - src/archive/types.rs::ChildArchiveReader<R> — contains a tokio::process::Child field, semantically not serializable Coverage (18 modules): archive, blame, blob, branch, cleanup, commit, compare, config, conflict, diff, merge, refs, remote, setup, submodule, tags, tree Notes: - field names kept snake_case (no rename_all remap) - existing PartialEq / Eq / Default / Copy derives preserved - cargo build + cargo test (38 passed) green
This commit is contained in:
parent
680411c4fb
commit
916b5f3176
47
Cargo.lock
generated
47
Cargo.lock
generated
@ -69,6 +69,9 @@ name = "bitflags"
|
||||
version = "2.13.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b588b76d00fde79687d7646a9b5bdf3cc0f655e0bbd080335a95d7e96f3587da"
|
||||
dependencies = [
|
||||
"serde_core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "block-buffer"
|
||||
@ -216,6 +219,9 @@ name = "deranged"
|
||||
version = "0.5.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c"
|
||||
dependencies = [
|
||||
"serde_core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "digest"
|
||||
@ -376,6 +382,7 @@ dependencies = [
|
||||
"gix-submodule",
|
||||
"gix-tempfile",
|
||||
"gix-trace",
|
||||
"gix-transport",
|
||||
"gix-traverse",
|
||||
"gix-url",
|
||||
"gix-utils",
|
||||
@ -387,6 +394,7 @@ dependencies = [
|
||||
"nonempty",
|
||||
"parking_lot",
|
||||
"regex",
|
||||
"serde",
|
||||
"signal-hook",
|
||||
"smallvec",
|
||||
"thiserror",
|
||||
@ -401,6 +409,7 @@ dependencies = [
|
||||
"bstr",
|
||||
"gix-date",
|
||||
"gix-error",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -428,6 +437,7 @@ dependencies = [
|
||||
"gix-path",
|
||||
"gix-quote",
|
||||
"gix-trace",
|
||||
"serde",
|
||||
"smallvec",
|
||||
"thiserror",
|
||||
"unicode-bom",
|
||||
@ -496,6 +506,7 @@ dependencies = [
|
||||
"gix-hash",
|
||||
"memmap2",
|
||||
"nonempty",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -546,6 +557,7 @@ dependencies = [
|
||||
"gix-sec",
|
||||
"gix-trace",
|
||||
"gix-url",
|
||||
"serde",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
@ -559,6 +571,7 @@ dependencies = [
|
||||
"gix-error",
|
||||
"itoa",
|
||||
"jiff",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -693,6 +706,7 @@ dependencies = [
|
||||
"bstr",
|
||||
"gix-features",
|
||||
"gix-path",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -703,6 +717,7 @@ checksum = "13adaa73415fd6c902310923f68d0b98e8cecf14b33ea58c02cc387cee56f54e"
|
||||
dependencies = [
|
||||
"faster-hex",
|
||||
"gix-features",
|
||||
"serde",
|
||||
"sha1-checked",
|
||||
"thiserror",
|
||||
]
|
||||
@ -728,6 +743,7 @@ dependencies = [
|
||||
"gix-glob",
|
||||
"gix-path",
|
||||
"gix-trace",
|
||||
"serde",
|
||||
"unicode-bom",
|
||||
]
|
||||
|
||||
@ -765,6 +781,7 @@ dependencies = [
|
||||
"libc",
|
||||
"memmap2",
|
||||
"rustix",
|
||||
"serde",
|
||||
"smallvec",
|
||||
"thiserror",
|
||||
]
|
||||
@ -790,6 +807,7 @@ dependencies = [
|
||||
"gix-actor",
|
||||
"gix-date",
|
||||
"gix-error",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -821,6 +839,7 @@ dependencies = [
|
||||
"gix-utils",
|
||||
"gix-validate",
|
||||
"itoa",
|
||||
"serde",
|
||||
"smallvec",
|
||||
"thiserror",
|
||||
]
|
||||
@ -843,6 +862,7 @@ dependencies = [
|
||||
"gix-zlib",
|
||||
"memmap2",
|
||||
"parking_lot",
|
||||
"serde",
|
||||
"tempfile",
|
||||
"thiserror",
|
||||
]
|
||||
@ -863,6 +883,7 @@ dependencies = [
|
||||
"gix-path",
|
||||
"gix-zlib",
|
||||
"memmap2",
|
||||
"serde",
|
||||
"smallvec",
|
||||
"thiserror",
|
||||
"uluru",
|
||||
@ -936,6 +957,7 @@ dependencies = [
|
||||
"gix-transport",
|
||||
"gix-utils",
|
||||
"nonempty",
|
||||
"serde",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
@ -967,6 +989,7 @@ dependencies = [
|
||||
"gix-utils",
|
||||
"gix-validate",
|
||||
"memmap2",
|
||||
"serde",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
@ -1003,6 +1026,7 @@ dependencies = [
|
||||
"gix-revwalk",
|
||||
"gix-trace",
|
||||
"nonempty",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -1030,6 +1054,7 @@ dependencies = [
|
||||
"bitflags 2.13.1",
|
||||
"gix-path",
|
||||
"libc",
|
||||
"serde",
|
||||
"windows-sys",
|
||||
]
|
||||
|
||||
@ -1043,6 +1068,7 @@ dependencies = [
|
||||
"gix-hash",
|
||||
"gix-lock",
|
||||
"nonempty",
|
||||
"serde",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
@ -1121,6 +1147,7 @@ dependencies = [
|
||||
"gix-quote",
|
||||
"gix-sec",
|
||||
"gix-url",
|
||||
"serde",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
@ -1151,6 +1178,7 @@ dependencies = [
|
||||
"gix-path",
|
||||
"gix-utils",
|
||||
"percent-encoding",
|
||||
"serde",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
@ -1192,6 +1220,7 @@ dependencies = [
|
||||
"gix-object",
|
||||
"gix-path",
|
||||
"gix-validate",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -1236,6 +1265,7 @@ version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3e8813f5579b3075ff9c90f7c59cd2b62b4ebb639361f0911648b22d7446cc7c"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"thiserror",
|
||||
"zlib-rs",
|
||||
]
|
||||
@ -1420,6 +1450,9 @@ name = "nonempty"
|
||||
version = "0.12.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9737e026353e5cd0736f98eddae28665118eb6f6600902a7f50db585621fecb6"
|
||||
dependencies = [
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "num-conv"
|
||||
@ -1691,6 +1724,9 @@ name = "smallvec"
|
||||
version = "1.15.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90"
|
||||
dependencies = [
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "stable_deref_trait"
|
||||
@ -1764,6 +1800,7 @@ dependencies = [
|
||||
"powerfmt",
|
||||
"serde_core",
|
||||
"time-core",
|
||||
"time-macros",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -1772,6 +1809,16 @@ version = "0.1.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9e1c906769ad99c88eaa54e728060edef082f8e358ff32030cb7c7d315e81109"
|
||||
|
||||
[[package]]
|
||||
name = "time-macros"
|
||||
version = "0.2.32"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7e689342a48d2ea927c87ea50cabf8594854bf940e9310208848d680d668ed85"
|
||||
dependencies = [
|
||||
"num-conv",
|
||||
"time-core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tinyvec"
|
||||
version = "1.12.0"
|
||||
|
||||
@ -7,6 +7,6 @@ edition = "2024"
|
||||
tokio = { version = "1.53.1", features = ["process", "io-util", "sync", "macros", "rt-multi-thread", "time", "fs"] }
|
||||
serde = { version = "1.0.229", features = ["derive"] }
|
||||
serde_json = { version = "1.0.151", features = [] }
|
||||
gix = { version = "0.86.0", features = [] }
|
||||
time = { version = "0.3.55", features = [] }
|
||||
gix = { version = "0.86.0", features = ["serde"] }
|
||||
time = { version = "0.3.55", features = ["serde"] }
|
||||
async-trait = "0.1.92"
|
||||
@ -1,9 +1,10 @@
|
||||
use std::fmt;
|
||||
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::command::env::Env;
|
||||
use crate::error::BabyError;
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub enum ArchiveFormat {
|
||||
Tar,
|
||||
TarGz,
|
||||
@ -33,7 +34,7 @@ impl fmt::Display for ArchiveFormat {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct CreateArchiveRequest {
|
||||
pub commit: String,
|
||||
pub format: ArchiveFormat,
|
||||
@ -41,7 +42,7 @@ pub struct CreateArchiveRequest {
|
||||
pub paths: Vec<String>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct GetArchiveRequest {
|
||||
pub commit: String,
|
||||
pub format: ArchiveFormat,
|
||||
@ -50,7 +51,7 @@ pub struct GetArchiveRequest {
|
||||
pub exclude: Vec<String>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct BundleRequest {
|
||||
pub refs: Vec<String>,
|
||||
}
|
||||
|
||||
@ -1,7 +1,8 @@
|
||||
use std::fmt;
|
||||
use std::path::PathBuf;
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||
use serde::{Deserialize, Serialize};
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct BlameHunk {
|
||||
pub sha: gix::ObjectId,
|
||||
pub previous_sha: Option<gix::ObjectId>,
|
||||
@ -12,7 +13,7 @@ pub struct BlameHunk {
|
||||
pub orig_start_line: u32,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct Range {
|
||||
pub start: u32,
|
||||
pub end: u32,
|
||||
@ -24,7 +25,7 @@ impl fmt::Display for Range {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct BlameOptions {
|
||||
pub revision: String,
|
||||
pub path: PathBuf,
|
||||
|
||||
@ -1,19 +1,20 @@
|
||||
use gix::ObjectId;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct BlobInfo {
|
||||
pub oid: ObjectId,
|
||||
pub size: i64,
|
||||
pub data: Option<Vec<u8>>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct BlobContent {
|
||||
pub info: BlobInfo,
|
||||
pub data: Vec<u8>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct LFSPointer {
|
||||
pub oid: ObjectId,
|
||||
pub size: i64,
|
||||
@ -22,12 +23,12 @@ pub struct LFSPointer {
|
||||
pub content: Vec<u8>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Default)]
|
||||
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
|
||||
pub struct GetBlobOptions {
|
||||
pub limit: Option<i64>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Default)]
|
||||
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
|
||||
pub struct ListBlobsOptions {
|
||||
pub revisions: Vec<String>,
|
||||
pub limit: Option<u32>,
|
||||
@ -35,29 +36,29 @@ pub struct ListBlobsOptions {
|
||||
pub with_paths: bool,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Default)]
|
||||
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
|
||||
pub struct ListAllBlobsOptions {
|
||||
pub limit: Option<u32>,
|
||||
pub bytes_limit: Option<i64>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Default)]
|
||||
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
|
||||
pub struct ListLFSPointersOptions {
|
||||
pub revisions: Vec<String>,
|
||||
pub limit: Option<u32>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Default)]
|
||||
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
|
||||
pub struct ListAllLFSPointersOptions {
|
||||
pub limit: Option<u32>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Default)]
|
||||
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
|
||||
pub struct GetLFSPointersOptions {
|
||||
pub blob_ids: Vec<ObjectId>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Default)]
|
||||
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
|
||||
pub struct WriteBlobOptions {
|
||||
pub path: Option<String>,
|
||||
}
|
||||
|
||||
@ -1,17 +1,17 @@
|
||||
use gix::ObjectId;
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||
use serde::{Deserialize, Serialize};
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct BranchInfo {
|
||||
pub name: String,
|
||||
pub sha: ObjectId,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Default)]
|
||||
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
|
||||
pub struct ListBranchesOptions {
|
||||
pub patterns: Vec<String>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub enum HeadTarget {
|
||||
Branch(String),
|
||||
Detached(ObjectId),
|
||||
|
||||
0
src/cache/mod.rs
vendored
Normal file
0
src/cache/mod.rs
vendored
Normal file
@ -1,9 +1,11 @@
|
||||
#[derive(Debug, Clone, Default)]
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
|
||||
pub struct PruneResult {
|
||||
pub packed_refs: u64,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Default)]
|
||||
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
|
||||
pub struct CleanupStats {
|
||||
pub removed_internal_refs: u64,
|
||||
}
|
||||
|
||||
@ -1,7 +1,9 @@
|
||||
use std::fmt;
|
||||
use std::path::PathBuf;
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub enum TreeEntryMode {
|
||||
Blob,
|
||||
Exec,
|
||||
@ -43,14 +45,14 @@ impl fmt::Display for TreeEntryMode {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct Signature {
|
||||
pub name: String,
|
||||
pub email: String,
|
||||
pub time: time::OffsetDateTime,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct CommitInfo {
|
||||
pub id: gix::ObjectId,
|
||||
pub tree_id: gix::ObjectId,
|
||||
@ -61,13 +63,13 @@ pub struct CommitInfo {
|
||||
pub gpg_signature: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default, Serialize, Deserialize)]
|
||||
pub struct CommitStats {
|
||||
pub additions: u64,
|
||||
pub deletions: u64,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct TreeEntry {
|
||||
pub oid: gix::ObjectId,
|
||||
pub name: String,
|
||||
@ -75,7 +77,7 @@ pub struct TreeEntry {
|
||||
pub size: Option<u64>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct ListCommitsOptions {
|
||||
pub revision: String,
|
||||
pub path: Option<PathBuf>,
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
use std::fmt;
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct DivergeObject {
|
||||
pub ahead: u32,
|
||||
pub behind: u32,
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
use std::fmt;
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct ConfigEntry {
|
||||
pub key: String,
|
||||
pub value: String,
|
||||
@ -12,7 +14,7 @@ impl fmt::Display for ConfigEntry {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct ConfigScope(pub String);
|
||||
|
||||
impl ConfigScope {
|
||||
|
||||
@ -1,17 +1,18 @@
|
||||
use std::path::PathBuf;
|
||||
|
||||
use gix::ObjectId;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::commit::types::Signature;
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub enum MergeStage {
|
||||
Ancestor,
|
||||
Ours,
|
||||
Theirs,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct ConflictFileHeader {
|
||||
pub our_commit_oid: ObjectId,
|
||||
pub their_path: Option<PathBuf>,
|
||||
@ -20,26 +21,26 @@ pub struct ConflictFileHeader {
|
||||
pub our_mode: u32,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct ConflictFile {
|
||||
pub header: ConflictFileHeader,
|
||||
pub content: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Default, Clone)]
|
||||
#[derive(Debug, Default, Clone, Serialize, Deserialize)]
|
||||
pub struct ListConflictOptions {
|
||||
pub allow_tree_conflicts: bool,
|
||||
pub skip_content: bool,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct MergeTreeResult {
|
||||
pub tree_oid: ObjectId,
|
||||
pub has_conflicts: bool,
|
||||
pub conflict_files: Vec<PathBuf>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct ResolveConflictsInput {
|
||||
pub our_commit_oid: ObjectId,
|
||||
pub their_commit_oid: ObjectId,
|
||||
@ -49,7 +50,7 @@ pub struct ResolveConflictsInput {
|
||||
pub author: Signature,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct ConflictResolution {
|
||||
pub old_path: Option<PathBuf>,
|
||||
pub new_path: PathBuf,
|
||||
|
||||
@ -1,14 +1,15 @@
|
||||
use std::path::PathBuf;
|
||||
|
||||
use gix::ObjectId;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct DiffRequest {
|
||||
pub left: ObjectId,
|
||||
pub right: ObjectId,
|
||||
}
|
||||
|
||||
#[derive(Debug, Default, Clone)]
|
||||
#[derive(Debug, Default, Clone, Serialize, Deserialize)]
|
||||
pub struct DiffOptions {
|
||||
pub paths: Option<Vec<PathBuf>>,
|
||||
pub ignore_whitespace: Option<WhitespaceMode>,
|
||||
@ -16,14 +17,14 @@ pub struct DiffOptions {
|
||||
pub word_diff: bool,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub enum WhitespaceMode {
|
||||
None,
|
||||
IgnoreSpaceChange,
|
||||
IgnoreAllSpace,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub enum DiffStatus {
|
||||
Added,
|
||||
Deleted,
|
||||
@ -47,7 +48,7 @@ impl DiffStatus {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct ChangedPath {
|
||||
pub old_path: Option<PathBuf>,
|
||||
pub new_path: PathBuf,
|
||||
@ -58,7 +59,7 @@ pub struct ChangedPath {
|
||||
pub status: DiffStatus,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct ChangedPathDiff {
|
||||
pub path: ChangedPath,
|
||||
pub lines_added: u64,
|
||||
@ -67,7 +68,7 @@ pub struct ChangedPathDiff {
|
||||
pub patch: Option<Vec<u8>>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct NumStat {
|
||||
pub additions: u64,
|
||||
pub deletions: u64,
|
||||
@ -75,20 +76,20 @@ pub struct NumStat {
|
||||
pub old_path: Option<PathBuf>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Default)]
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Default, Serialize, Deserialize)]
|
||||
pub struct ShortStat {
|
||||
pub files_changed: u64,
|
||||
pub additions: u64,
|
||||
pub deletions: u64,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub enum ChangedPathRequest {
|
||||
Commit(ObjectId),
|
||||
TreePair(ObjectId, ObjectId),
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub enum RangeDiffSpec {
|
||||
Range(String, String),
|
||||
RevisionRange(String, String),
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
use gix::ObjectId;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct MergeBaseResult {
|
||||
pub oid: ObjectId,
|
||||
}
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
use gix::ObjectId;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub enum RefType {
|
||||
Branch,
|
||||
Tag,
|
||||
@ -8,7 +9,7 @@ pub enum RefType {
|
||||
Other,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct RefInfo {
|
||||
pub name: String,
|
||||
pub ref_type: RefType,
|
||||
@ -16,7 +17,7 @@ pub struct RefInfo {
|
||||
pub peeled: Option<ObjectId>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Default)]
|
||||
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
|
||||
pub struct ListRefsOptions {
|
||||
pub patterns: Vec<String>,
|
||||
pub exclude_patterns: Vec<String>,
|
||||
@ -25,7 +26,7 @@ pub struct ListRefsOptions {
|
||||
pub start_after: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct RefUpdate {
|
||||
pub name: String,
|
||||
pub new_sha: ObjectId,
|
||||
|
||||
@ -1,4 +1,6 @@
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default, Serialize, Deserialize)]
|
||||
pub enum RemoteOption {
|
||||
#[default]
|
||||
Default,
|
||||
@ -16,7 +18,7 @@ impl RemoteOption {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct UpdateRemoteMirrorRequest {
|
||||
pub url: String,
|
||||
pub refs: Vec<String>,
|
||||
@ -24,12 +26,12 @@ pub struct UpdateRemoteMirrorRequest {
|
||||
pub keep_divergent_refs: bool,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Default)]
|
||||
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
|
||||
pub struct UpdateRemoteMirrorResult {
|
||||
pub divergent_refs: Vec<String>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Default)]
|
||||
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
|
||||
pub struct FetchRemoteCommitResult {
|
||||
pub fetched: bool,
|
||||
}
|
||||
|
||||
@ -1,4 +1,6 @@
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub enum ObjectFormat {
|
||||
Sha1,
|
||||
Sha256,
|
||||
@ -13,14 +15,14 @@ impl ObjectFormat {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Default)]
|
||||
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
|
||||
pub struct FastImportFile {
|
||||
pub mode: Option<u32>,
|
||||
pub path: String,
|
||||
pub content: Vec<u8>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct FastImportCommit {
|
||||
pub ref_name: String,
|
||||
pub message: Option<String>,
|
||||
|
||||
@ -1,4 +1,6 @@
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Default)]
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Default, Serialize, Deserialize)]
|
||||
pub struct SubModule {
|
||||
pub name: String,
|
||||
pub path: String,
|
||||
|
||||
@ -1,25 +1,26 @@
|
||||
use gix::ObjectId;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub enum SigningFormat {
|
||||
Ssh,
|
||||
OpenGpg,
|
||||
X509,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct SigningKey {
|
||||
pub format: SigningFormat,
|
||||
pub key_id: String,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub enum TagType {
|
||||
Lightweight,
|
||||
Annotated,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct TagInfo {
|
||||
pub name: String,
|
||||
pub sha: ObjectId,
|
||||
@ -29,19 +30,19 @@ pub struct TagInfo {
|
||||
pub message: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct CreateTagOptions {
|
||||
pub name: String,
|
||||
pub target: String,
|
||||
pub message: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Default)]
|
||||
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
|
||||
pub struct ListTagsOptions {
|
||||
pub patterns: Vec<String>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct TagVerifyResult {
|
||||
pub valid: bool,
|
||||
pub signer: Option<String>,
|
||||
|
||||
@ -1,9 +1,10 @@
|
||||
use gix::ObjectId;
|
||||
use std::path::PathBuf;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::commit::types::TreeEntryMode;
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub enum TreeDiffStatus {
|
||||
Added,
|
||||
Deleted,
|
||||
@ -13,7 +14,7 @@ pub enum TreeDiffStatus {
|
||||
Copied,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct TreeDiff {
|
||||
pub old_path: Option<PathBuf>,
|
||||
pub new_path: Option<PathBuf>,
|
||||
@ -24,13 +25,13 @@ pub struct TreeDiff {
|
||||
pub status: TreeDiffStatus,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Default)]
|
||||
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
|
||||
pub struct WalkTreeOptions {
|
||||
pub recurse: bool,
|
||||
pub show_trees: bool,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Default)]
|
||||
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
|
||||
pub struct DiffTreesOptions {
|
||||
pub recurse: bool,
|
||||
pub detect_renames: bool,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user