![]() In the earliest stages of pattern development, we used submodules because the developers of the project were familiar with submodules and had used them previously, but we had not used subtrees. In short, a subtree integrates another repository’s history into a parent repository, which allows for most of the benefits of a submodule workflow, without most of the caveats.Įarlier versions of this document described the usage of patterns with submodules instead of subtrees. We started with submodules but have since moved to subtree.Ītlassian has some good documentation on what subtree is here and here. Two strategies exist for repository sharing in this way: submodule and subtree. one git “pull” type action) to update the shared components of a pattern. We feel it is important to be able to provide a “pull” experience (i.e. While it is possible to share changes between multiple unrelated git repositories, it is an almostĮntirely manual process, prone to error. It has always been important to us to be have a substrate for patterns that is as easy as possible to share amongst Which are the defaults the repository is normally configured with. ![]() Using the pattern by itself does not require changing subtrees.įor the common cases (use and consumption of the pattern), users do not need to be aware that the pattern uses a subtree at all.Ĭommon/scripts/make_common_subtree.sh main common-subtree You only need to change subtrees if you want to test changes in the common/ area of the pattern repositories, or if you wish to contribute to the common/ repository itself in conjunction with one of the patterns. Normally, we will maintain the common subtree in the normal course of updates, and pulling changes from upstream will include any changes from common. This will make the tools in common more powerful and featureful, and make it easier to develop new patterns. Particular to each pattern, and standard usage conventions emerge. Over time we will move more functionality into common, to isolate the components that are Our patterns use the git subtree feature as a mechanism to promote modularity, so that multiple patterns can use the Be a good basis for submitting Pull Requests to be integrated upstream, since it will not contain your local configuration differences or your local GitOps commits.(this is especially useful for tracking when any submodules, like common, update) Be merge-able (or cherry-pick-able) into your local main branch to be used by your local GitOps processes. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |