Cargo-vcs is a Cargo extension that adds version control helpers to help manage workspace projects.
Cargo-vcs is a Cargo extension that adds version control helpers to help manage workspace members.
## Example use cases
## Example use cases
### View current branch and MSRV status for workspace projects
### View current branch and MSRV status for workspace members
- `cargo vcs status` - for brief overview
- `cargo vcs status` - for brief overview
- `cargo vcs status -v` - for verbose view
- `cargo vcs status -v` - for verbose view
### Switch to a branch on all workspace projects
### Switch to a branch or commit on workspace members
- `cargo vcs branch set master`
- `cargo vcs checkout master` - switch to master on all workspace members
- `cargo vcs checkout master -p one_project` - switch on specific member only
### Save currently set workspace branches as a profile
### Save currently set workspace branches as a profile
- `cargo vcs profile save profile1`
- `cargo vcs profile save profile1` - saves current repo state of each workspace member under the name `profile1`
### Switch to a previously saved workspace profile
### Switch to a previously saved workspace profile
- `cargo vcs profile set profile1`
- `cargo vcs profile set profile1` - switches all workspace member repositories to state saved in `profile1`
## Profile configs
## 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 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 repository reference paths.