diff --git a/README.md b/README.md index 09cb05c..e9b7f5a 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,36 @@ Cargo-vcs is a Cargo extension that adds version control helpers to help manage - `cargo vcs profile set profile1` +## Profile configs + +Profile config is saved in the workspace root directory under the name `Cargo_vcs.toml`. Manual editing is possible but using `cargo vcs profile save ` is the preferred method as it resolves shortnames to full ref paths. + +### Profile format + +Toml file with the format of + +```toml +[vcs.] + = "" +... +``` + +## VCS support + +### Git + +Git is currently the only supported VCS. + +#### Uncommitted changes + +Profile and branch switching with uncommitted changes result in new stash pushes. Stashed changes are popped back when returning to the source reference or profile. + +Each stash change is saved under a specific name and looked up as such, FIFO is not used and stash changes created outside of cargo-vcs are not considered. + +### Others + +Currently only git is supported. Other version control systems can be added by implementing the `Repository` trait, however some more work is required in regards to the dirty changes strategy. + ## Minimum Supported Rust Version (MSRV) This crate is guaranteed to compile on stable Rust 1.59.0 and up. It *might*