...
- Create and switch to a branch in which to conduct the work. Be sure to follow the branch naming conventions and other development practices. The branch name should follow the form github-username/component/component.<version>-import.
- Add external git repo to as a remote in your local repository copy (git remote add -f --tags <external_name> <external_url>).
- Add code from external git repo to ACME in a subdirectory: (git subtree add --squash --prefix=<external_subdir> <external_name> <external_commit>).
- Test and submit a pull request as defined in the development practices page.
...
- Pull changes from the ACME subtree into a new branch (git subtree split -P <external_subdir> -b <external_branchname>).
- If necessary, add remote for updated external (If git remote does not list your remote, add it with git remote add -f --tags <external_name> <external_url>).
- Similarly, add a remote for <external_repo> if different from <external_name>
- Push your branch to the external's repo, in preparation of merging following their workflow: (git push <external_repo> <external_branchname>)
- Push the branch to the remote repository (git push -u <external_repo> <external_mergebranch>).
- Follow other procedures for updating the external (depending on that external's workflow).
...