-
Notifications
You must be signed in to change notification settings - Fork 186
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add mechanism to have a script folder automatically sync to all languages repos #327
Comments
What is the reasoning behind a sync model vs. just cloning the repo? I agree that this is a problem that we need to solve, just wanted to talk through the options. |
The primary reason is that we will want not only our pipelines but local devs to be able to use a lot of these scripts and it is much easier if there isn't yet another step and cloning to try and bootstrap these scripts. It also makes servicing and other aspects much simpler. A smaller consideration is that if you clone you need to pull the entire repo including the history (assuming we don't try to complicate things with a shallow clone) of everything in the repo which isn't going to be interesting for most of these language repos. |
Another option is to use a submodule or subtree (for developer ergonomics, I'd probably prefer subtree). Just another though to chew on. |
git subtree is a reasonable merging tool but as best I can find it doesn't allow you to merge a single directory. You can only merge an entire repo into a single directory in another repo but not a directory from a repo into directory in another repo. So I will like just do a directory delete, then copy and pend. |
This automation has been implemented with PR #353. |
There are more and more cases where we need to have some common scripts across our language repos (changelogs, file lengths, readme parsing, etc). To help with this problem we should create a common directory that we automatically sync across languages. Here is a proposal:
eng\common
directory in this repo. That directory will contain common text based scripts that we need to use locally or in our pipelines across the different language repos. It should remain relatively small in size and only contain scripts we need in most, if not all, our language repos. In can also contain common yml templates we need to share.eng/common
directory in this repo and blindly put those in all theeng/common
directories of the repositories that are subscribed to sync these changes.cc @azure/azure-sdk-eng
The text was updated successfully, but these errors were encountered: