mwsは、repoで管理された複数のGitリポジトリをまとめて扱うためのワークスペースマネージャーです。
各リポジトリのコミットをワークスペース全体の状態として記録し、あとから同じ組み合わせへ復元できます。
cargo install --path .インストール後、mws がPATHから実行できることを確認します。
mws --helprepoワークスペースのルートで実行します。
mws initmwsはrepo manifestからプロジェクトを読み込み、各リポジトリへGitフックを設定します。
mws status各リポジトリのHEADと未コミットの変更を確認します。
mws logmws restore <id>最新の状態へ戻す場合、latestを指定します。
mws restore latest未コミットの変更がある場合、復元は中止されます。
変更を破棄して復元する場合は--forceを使用します。
mws restore latest --forcemws restore <id> --work <branch_name>デフォルトのrestoreはdetached headになりますが、これを利用することで全リポジトリにブランチを作成することができます。
作業ブランチの一覧を表示します。
mws work list作業ブランチを削除します。
mws work clean <branch>ブランチ名はmws/の有無にかかわらず指定できます。
mwsのデータはワークスペースルートの.workspaceに保存されます。
.workspace/
├── tree.toml
└── snapshots/
mwsはリポジトリの内容を複製せず、各リポジトリのコミットIDを記録します。