// This file is @generated by prost-build.#[allow(clippy::derive_partial_eq_without_eq)]#[derive(Clone, PartialEq, ::prost::Message)]pub struct RefConflictLegacy { #[deprecated] #[prost(bytes = "vec", repeated, tag = "1")] pub removes: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>, #[deprecated] #[prost(bytes = "vec", repeated, tag = "2")] pub adds: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,}#[allow(clippy::derive_partial_eq_without_eq)]#[derive(Clone, PartialEq, ::prost::Message)]pub struct RefConflict { #[prost(message, repeated, tag = "1")] pub removes: ::prost::alloc::vec::Vec<ref_conflict::Term>, #[prost(message, repeated, tag = "2")] pub adds: ::prost::alloc::vec::Vec<ref_conflict::Term>,}/// Nested message and enum types in `RefConflict`.pub mod ref_conflict { #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Term { #[prost(bytes = "vec", optional, tag = "1")] pub value: ::core::option::Option<::prost::alloc::vec::Vec<u8>>, }}#[allow(clippy::derive_partial_eq_without_eq)]#[derive(Clone, PartialEq, ::prost::Message)]pub struct RefTarget { /// New `RefConflict` type represents both `commit_id` and `conflict_legacy`. #[prost(oneof = "ref_target::Value", tags = "1, 2, 3")] pub value: ::core::option::Option<ref_target::Value>,}/// Nested message and enum types in `RefTarget`.pub mod ref_target { /// New `RefConflict` type represents both `commit_id` and `conflict_legacy`. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Oneof)] pub enum Value { #[prost(bytes, tag = "1")] CommitId(::prost::alloc::vec::Vec<u8>), #[prost(message, tag = "2")] ConflictLegacy(super::RefConflictLegacy), #[prost(message, tag = "3")] Conflict(super::RefConflict), }}#[allow(clippy::derive_partial_eq_without_eq)]#[derive(Clone, PartialEq, ::prost::Message)]pub struct RemoteBookmark { #[prost(string, tag = "1")] pub remote_name: ::prost::alloc::string::String, #[prost(message, optional, tag = "2")] pub target: ::core::option::Option<RefTarget>, /// Introduced in jj 0.11. #[prost(enumeration = "RemoteRefState", optional, tag = "3")] pub state: ::core::option::Option<i32>,}#[allow(clippy::derive_partial_eq_without_eq)]#[derive(Clone, PartialEq, ::prost::Message)]pub struct Bookmark { #[prost(string, tag = "1")] pub name: ::prost::alloc::string::String, /// Unset if the bookmark has been deleted locally. #[prost(message, optional, tag = "2")] pub local_target: ::core::option::Option<RefTarget>, /// TODO: How would we support renaming remotes while having undo work? If /// the remote name is stored in config, it's going to become a mess if the /// remote is renamed but the configs are left unchanged. Should each remote /// be identified (here and in configs) by a UUID? #[prost(message, repeated, tag = "3")] pub remote_bookmarks: ::prost::alloc::vec::Vec<RemoteBookmark>,}#[allow(clippy::derive_partial_eq_without_eq)]#[derive(Clone, PartialEq, ::prost::Message)]pub struct GitRef { #[prost(string, tag = "1")] pub name: ::prost::alloc::string::String, /// This field is just for historical reasons (before we had the RefTarget /// type). New GitRefs have (only) the target field. /// TODO: Delete support for the old format. #[prost(bytes = "vec", tag = "2")] pub commit_id: ::prost::alloc::vec::Vec<u8>, #[prost(message, optional, tag = "3")] pub target: ::core::option::Option<RefTarget>,}#[allow(clippy::derive_partial_eq_without_eq)]#[derive(Clone, PartialEq, ::prost::Message)]pub struct Tag { #[prost(string, tag = "1")] pub name: ::prost::alloc::string::String, #[prost(message, optional, tag = "2")] pub target: ::core::option::Option<RefTarget>,}#[allow(clippy::derive_partial_eq_without_eq)]#[derive(Clone, PartialEq, ::prost::Message)]pub struct View { #[prost(bytes = "vec", repeated, tag = "1")] pub head_ids: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>, #[deprecated] #[prost(bytes = "vec", tag = "2")] pub wc_commit_id: ::prost::alloc::vec::Vec<u8>, #[prost(map = "string, bytes", tag = "8")] pub wc_commit_ids: ::std::collections::HashMap< ::prost::alloc::string::String, ::prost::alloc::vec::Vec<u8>, >, #[prost(message, repeated, tag = "5")] pub bookmarks: ::prost::alloc::vec::Vec<Bookmark>, #[prost(message, repeated, tag = "6")] pub tags: ::prost::alloc::vec::Vec<Tag>, /// Only a subset of the refs. For example, does not include refs/notes/. #[prost(message, repeated, tag = "3")] pub git_refs: ::prost::alloc::vec::Vec<GitRef>, /// This field is just for historical reasons (before we had the RefTarget /// type). New Views have (only) the target field. /// TODO: Delete support for the old format. #[deprecated] #[prost(bytes = "vec", tag = "7")] pub git_head_legacy: ::prost::alloc::vec::Vec<u8>, #[prost(message, optional, tag = "9")] pub git_head: ::core::option::Option<RefTarget>,}#[allow(clippy::derive_partial_eq_without_eq)]#[derive(Clone, PartialEq, ::prost::Message)]pub struct Operation { #[prost(bytes = "vec", tag = "1")] pub view_id: ::prost::alloc::vec::Vec<u8>, #[prost(bytes = "vec", repeated, tag = "2")] pub parents: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>, #[prost(message, optional, tag = "3")] pub metadata: ::core::option::Option<OperationMetadata>,}/// TODO: Share with store.proto? Do we even need the timezone here?#[allow(clippy::derive_partial_eq_without_eq)]#[derive(Clone, PartialEq, ::prost::Message)]pub struct Timestamp { #[prost(int64, tag = "1")] pub millis_since_epoch: i64, #[prost(int32, tag = "2")] pub tz_offset: i32,}#[allow(clippy::derive_partial_eq_without_eq)]#[derive(Clone, PartialEq, ::prost::Message)]pub struct OperationMetadata { #[prost(message, optional, tag = "1")] pub start_time: ::core::option::Option<Timestamp>, #[prost(message, optional, tag = "2")] pub end_time: ::core::option::Option<Timestamp>, #[prost(string, tag = "3")] pub description: ::prost::alloc::string::String, #[prost(string, tag = "4")] pub hostname: ::prost::alloc::string::String, #[prost(string, tag = "5")] pub username: ::prost::alloc::string::String, #[prost(bool, tag = "7")] pub is_snapshot: bool, #[prost(map = "string, string", tag = "6")] pub tags: ::std::collections::HashMap< ::prost::alloc::string::String, ::prost::alloc::string::String, >,}#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]#[repr(i32)]pub enum RemoteRefState { New = 0, Tracked = 1,}impl RemoteRefState { /// String value of the enum field names used in the ProtoBuf definition. /// /// The values are not transformed in any way and thus are considered stable /// (if the ProtoBuf definition does not change) and safe for programmatic use. pub fn as_str_name(&self) -> &'static str { match self { RemoteRefState::New => "New", RemoteRefState::Tracked => "Tracked", } } /// Creates an enum from field names used in the ProtoBuf definition. pub fn from_str_name(value: &str) -> ::core::option::Option<Self> { match value { "New" => Some(Self::New), "Tracked" => Some(Self::Tracked), _ => None, } }}
// This file is @generated by prost-build.
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RefConflictLegacy {
#[deprecated]
#[prost(bytes = "vec", repeated, tag = "1")]
pub removes: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
#[deprecated]
#[prost(bytes = "vec", repeated, tag = "2")]
pub adds: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RefConflict {
#[prost(message, repeated, tag = "1")]
pub removes: ::prost::alloc::vec::Vec<ref_conflict::Term>,
#[prost(message, repeated, tag = "2")]
pub adds: ::prost::alloc::vec::Vec<ref_conflict::Term>,
}
/// Nested message and enum types in `RefConflict`.
pub mod ref_conflict {
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Term {
#[prost(bytes = "vec", optional, tag = "1")]
pub value: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RefTarget {
/// New `RefConflict` type represents both `commit_id` and `conflict_legacy`.
#[prost(oneof = "ref_target::Value", tags = "1, 2, 3")]
pub value: ::core::option::Option<ref_target::Value>,
}
/// Nested message and enum types in `RefTarget`.
pub mod ref_target {
/// New `RefConflict` type represents both `commit_id` and `conflict_legacy`.
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Value {
#[prost(bytes, tag = "1")]
CommitId(::prost::alloc::vec::Vec<u8>),
#[prost(message, tag = "2")]
ConflictLegacy(super::RefConflictLegacy),
#[prost(message, tag = "3")]
Conflict(super::RefConflict),
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RemoteBookmark {
#[prost(string, tag = "1")]
pub remote_name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub target: ::core::option::Option<RefTarget>,
/// Introduced in jj 0.11.
#[prost(enumeration = "RemoteRefState", optional, tag = "3")]
pub state: ::core::option::Option<i32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bookmark {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
/// Unset if the bookmark has been deleted locally.
#[prost(message, optional, tag = "2")]
pub local_target: ::core::option::Option<RefTarget>,
/// TODO: How would we support renaming remotes while having undo work? If
/// the remote name is stored in config, it's going to become a mess if the
/// remote is renamed but the configs are left unchanged. Should each remote
/// be identified (here and in configs) by a UUID?
#[prost(message, repeated, tag = "3")]
pub remote_bookmarks: ::prost::alloc::vec::Vec<RemoteBookmark>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GitRef {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
/// This field is just for historical reasons (before we had the RefTarget
/// type). New GitRefs have (only) the target field.
/// TODO: Delete support for the old format.
#[prost(bytes = "vec", tag = "2")]
pub commit_id: ::prost::alloc::vec::Vec<u8>,
#[prost(message, optional, tag = "3")]
pub target: ::core::option::Option<RefTarget>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Tag {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub target: ::core::option::Option<RefTarget>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct View {
#[prost(bytes = "vec", repeated, tag = "1")]
pub head_ids: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
#[deprecated]
#[prost(bytes = "vec", tag = "2")]
pub wc_commit_id: ::prost::alloc::vec::Vec<u8>,
#[prost(map = "string, bytes", tag = "8")]
pub wc_commit_ids: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::vec::Vec<u8>,
>,
#[prost(message, repeated, tag = "5")]
pub bookmarks: ::prost::alloc::vec::Vec<Bookmark>,
#[prost(message, repeated, tag = "6")]
pub tags: ::prost::alloc::vec::Vec<Tag>,
/// Only a subset of the refs. For example, does not include refs/notes/.
#[prost(message, repeated, tag = "3")]
pub git_refs: ::prost::alloc::vec::Vec<GitRef>,
/// This field is just for historical reasons (before we had the RefTarget
/// type). New Views have (only) the target field.
/// TODO: Delete support for the old format.
#[deprecated]
#[prost(bytes = "vec", tag = "7")]
pub git_head_legacy: ::prost::alloc::vec::Vec<u8>,
#[prost(message, optional, tag = "9")]
pub git_head: ::core::option::Option<RefTarget>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Operation {
#[prost(bytes = "vec", tag = "1")]
pub view_id: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", repeated, tag = "2")]
pub parents: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
#[prost(message, optional, tag = "3")]
pub metadata: ::core::option::Option<OperationMetadata>,
}
/// TODO: Share with store.proto? Do we even need the timezone here?
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Timestamp {
#[prost(int64, tag = "1")]
pub millis_since_epoch: i64,
#[prost(int32, tag = "2")]
pub tz_offset: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OperationMetadata {
#[prost(message, optional, tag = "1")]
pub start_time: ::core::option::Option<Timestamp>,
#[prost(message, optional, tag = "2")]
pub end_time: ::core::option::Option<Timestamp>,
#[prost(string, tag = "3")]
pub description: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub hostname: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub username: ::prost::alloc::string::String,
#[prost(bool, tag = "7")]
pub is_snapshot: bool,
#[prost(map = "string, string", tag = "6")]
pub tags: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum RemoteRefState {
New = 0,
Tracked = 1,
}
impl RemoteRefState {
/// String value of the enum field names used in the ProtoBuf definition.
///
/// The values are not transformed in any way and thus are considered stable
/// (if the ProtoBuf definition does not change) and safe for programmatic use.
pub fn as_str_name(&self) -> &'static str {
match self {
RemoteRefState::New => "New",
RemoteRefState::Tracked => "Tracked",
}
}
/// Creates an enum from field names used in the ProtoBuf definition.
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"New" => Some(Self::New),
"Tracked" => Some(Self::Tracked),
_ => None,
}
}
}