summaryrefslogtreecommitdiffstats
path: root/vendor/gix-pack/src/find.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/gix-pack/src/find.rs')
-rw-r--r--vendor/gix-pack/src/find.rs63
1 files changed, 63 insertions, 0 deletions
diff --git a/vendor/gix-pack/src/find.rs b/vendor/gix-pack/src/find.rs
new file mode 100644
index 000000000..8143692e7
--- /dev/null
+++ b/vendor/gix-pack/src/find.rs
@@ -0,0 +1,63 @@
+///
+pub mod existing {
+ use gix_hash::ObjectId;
+
+ /// The error returned by the [`find(…)`][crate::FindExt::find()] trait methods.
+ #[derive(Debug, thiserror::Error)]
+ #[allow(missing_docs)]
+ pub enum Error<T: std::error::Error + 'static> {
+ #[error(transparent)]
+ Find(T),
+ #[error("An object with id {} could not be found", .oid)]
+ NotFound { oid: ObjectId },
+ }
+}
+
+///
+pub mod existing_object {
+ use gix_hash::ObjectId;
+
+ /// The error returned by the various [`find_*`][crate::FindExt::find_commit()] trait methods.
+ #[derive(Debug, thiserror::Error)]
+ #[allow(missing_docs)]
+ pub enum Error<T: std::error::Error + 'static> {
+ #[error(transparent)]
+ Find(T),
+ #[error(transparent)]
+ Decode(gix_object::decode::Error),
+ #[error("An object with id {} could not be found", .oid)]
+ NotFound { oid: ObjectId },
+ #[error("Expected object of kind {} something else", .expected)]
+ ObjectKind { expected: gix_object::Kind },
+ }
+}
+
+///
+pub mod existing_iter {
+ use gix_hash::ObjectId;
+
+ /// The error returned by the various [`find_*`][crate::FindExt::find_commit()] trait methods.
+ #[derive(Debug, thiserror::Error)]
+ #[allow(missing_docs)]
+ pub enum Error<T: std::error::Error + 'static> {
+ #[error(transparent)]
+ Find(T),
+ #[error("An object with id {} could not be found", .oid)]
+ NotFound { oid: ObjectId },
+ #[error("Expected object of kind {} something else", .expected)]
+ ObjectKind { expected: gix_object::Kind },
+ }
+}
+
+/// An Entry in a pack providing access to its data.
+///
+/// Its commonly retrieved by reading from a pack index file followed by a read from a pack data file.
+#[derive(PartialEq, Eq, Debug, Hash, Ord, PartialOrd, Clone)]
+#[cfg_attr(feature = "serde1", derive(serde::Serialize, serde::Deserialize))]
+#[allow(missing_docs)]
+pub struct Entry {
+ /// The pack-data encoded bytes of the pack data entry as present in the pack file, including the header followed by compressed data.
+ pub data: Vec<u8>,
+ /// The version of the pack file containing `data`
+ pub version: crate::data::Version,
+}