-
Notifications
You must be signed in to change notification settings - Fork 80
Open
Description
To facilitate changing the VMR to include more repos (e.g. adding something into a feature band), or removal (initializing a feature band by removing shared components), it is necessary to have add and remove commands. There is sort of an add command today (initialize), but no remove.
Recommended course of action is to make darc vmr initialize into add-repo. However, if initialize does more than add a repo, then it should be retained and add-repo would added to the vmr command set. In addition, a remove-repo would also be created.
The commands should update all files that are involved in a repo being in the VMR, with one notable exception
- Source mappings
- source manifest
- cred scan suppressoins
- 3rd party notices
- src/
- Exception: Repo projects - If a repo project is present in the repo, remove should NOT remove it. The repo project tends to have a bit of non-mechanically creatable logic. However, on add, if a repo project is missing, one should be created. This file should just be a barebones
<Project Sdk="Microsoft.Build.NoTargets">project.
Additional notes:
- When adding a specific sha and remote of the source repo given to do initial population of sources.
- Changes should be staged locally
- The add command should accept these arguments:
- Remote URI - required
- Commit SHA - required
- List of file exclusions (optional)
- The remove command should accept repository (mapping) name
Copilot