Open davidmlw opened 4 years ago
git config include
may provide some help and users can setup his own workspace. https://git-scm.com/docs/git-config#_includes
insteadOf
helps a lot. I met one issue that, wit update-dep
is too clever to do the insteadOf
too, will change the wit-manifest.json according to the insteadOf, even the orgin is the orginal one.
Wit workspace is very useful to compose a mult-repo workspace. A user may not have access to write to all of the repos, and the repo names in the manifest are hard-coded to public repos. A
wit update
action will let the user lost all modifications. That would prevent users to modify and try the public repos, which also prevents users to file PRs for the public repos.If there is a wit workspace level
insteadOf
table, a user can remain the original git URLs in the wit-manifest tree and modify everything. And now the push and pull actions happens in the user's own repos. When all the work is done, the snap shot of the workspaced can easily be filed as PRs to individual public repos.And there could be
pullInsteadOf
andPushInstreadOf
.pullInsteadOf
, there could be a list of related repos, and wit uses git to fetch them all and checkout the correct commit.PushInstreadOf
is easy, the users can setup each repo manually themselves.