use serde::Deserialize;
#[derive(Debug, Clone, Deserialize)]
pub struct LogEntry {
pub commit_id: String,
pub change_id: String,
pub author_name: String,
pub author_email: String,
pub description: String,
pub description_first_line: String,
pub parents: Vec<String>,
pub local_bookmarks: Vec<String>,
pub remote_bookmarks: Vec<String>,
pub is_working_copy: bool,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct Bookmark {
pub name: String,
pub commit_id: String,
pub change_id: String,
pub has_remote: bool,
pub is_synced: bool,
}
#[derive(Debug, Clone)]
pub struct BookmarkSegment {
pub bookmarks: Vec<Bookmark>,
pub changes: Vec<LogEntry>,
pub merge_source_names: Vec<String>,
}
#[derive(Debug, Clone)]
pub struct NarrowedSegment {
pub bookmark: Bookmark,
pub changes: Vec<LogEntry>,
pub merge_source_names: Vec<String>,
}
#[derive(Debug, Clone)]
pub struct BranchStack {
pub segments: Vec<BookmarkSegment>,
pub base_branch: Option<String>,
}
#[derive(Debug, Clone)]
pub struct GitRemote {
pub name: String,
pub url: String,
}