Skip to main content

fakecloud_codecommit/
lib.rs

1//! AWS CodeCommit (`codecommit`) implementation for FakeCloud.
2//!
3//! awsJson1.1 git-repository control plane for CodeCommit: repositories with a
4//! real content-addressed object store (blobs, trees, commits keyed by 40-char
5//! SHA-1 ids), branches and the default branch, file put/delete/read, commit
6//! history and differences, pull requests with targets/approvals/events,
7//! approval-rule templates and their repository associations, per-revision
8//! pull-request approval rules and overrides, comments on commits and pull
9//! requests with reactions, repository triggers, and resource tagging.
10//!
11//! Everything is real, persisted, and account-partitioned: every `Create`/
12//! `Put`/`Update` round-trips against its `Get`/`List`/`Describe`. Merges are
13//! computed against the stored commit graph (fast-forward and non-conflicting
14//! three-way/squash resolve; genuinely divergent trees report the declared
15//! `ManualMergeRequiredException`). There is no live git transport, so clone
16//! URLs are minted in exact AWS form but no smart-HTTP endpoint is served --
17//! the same control-plane-only shape the sibling `Code*` services use.
18
19pub mod persistence;
20pub mod service;
21pub mod state;
22mod validate;
23
24pub use service::{CodeCommitService, CODECOMMIT_ACTIONS};
25pub use state::{
26    CodeCommitSnapshot, CodeCommitState, SharedCodeCommitState, CODECOMMIT_SNAPSHOT_SCHEMA_VERSION,
27};