These refs need to be published to your remote integration repo for other project maintainers too. Note: Every time new content is squash committed to a subdirectory then git subdir also creates a ref for the commit whose content was used so that it can be referenced as a base for later git subdir commands. Note: it’s ok to rebase these squash commits on a topic branch without confusing git subdir, but it’s recommended to avoid squashing extra changes into these commits, because commands like git subdir branch you will split these extra changes back out into a separate, poorly named patch. Running git subdir status will try to warn when the last squashed doesn’t appear to have been published for others. If the is not an upstream commit it should then be pushed to the remote integration branch for others to be able to rebase your project-specific changes onto different upstream versions. should be in the layout of the external repository. Replaces the contents of with the contents of in a single squashed commit. If an has been specified then it’s also possible to specify which upstream branch to monitor. The branch to fetch and maintain integration changes on. ![]() Progress is not reported to the standard error stream. Pass -quiet to git subdir fetch to silence other internally used git commands. The initial content will come from the branch if it already exists otherwise it will come from the. git-subdir/config file for a pre-existing subdirectory (in which case -pre-integrated-commit must be passed to identify a commit from that the subdirectory’s content currently corresponds to). Typically wouldn’t exist before running git subdir add, but it’s also possible to create a. The benefit of specifying a second, upstream repository is that git subdir update can streamline rebasing any project-specific changes onto the latest upstream changes. The would typically be a project-specific fork of an upstream repository and is referred to as the integration repository. git-subdir/config file with a record of the corresponsing remote as well as (optionally) an upstream repository to monitor. ![]() Git subdir add Ĭreates a / directory containing a. Long lived integration changes (such as to integrate an external project into your build system) are maintained on a branch and rebased each time you update to the latest upstream.ĭevelopers can clone your project and freely commit changes to subdirectories without needing to know about or use git subdir which can be considered a project maintainer’s tool only needed when re-syncing a subdirectory’s content with upstream. Local changes to the subdirectory can be filtered onto a branch and pushed back upstream. Git subdir maintains the content of an external Git repository within a subdirectory of your repository.
0 Comments
Leave a Reply. |