@ -21,6 +21,36 @@ Cargo-vcs is a Cargo extension that adds version control helpers to help manage
- `cargo vcs profile set profile1`
- `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 <profile_name>` is the preferred method as it resolves shortnames to full ref paths.
### Profile format
Toml file with the format of
```toml
[vcs.<profile_name>]
<project_name> = "<git_reference>"
...
```
## 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)
## Minimum Supported Rust Version (MSRV)
This crate is guaranteed to compile on stable Rust 1.59.0 and up. It *might*
This crate is guaranteed to compile on stable Rust 1.59.0 and up. It *might*