Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Some Terminology

<external-_subdir> refers to the place in the ACME tree where the external code resides (or will reside).

<external_name> is a name you give to the external so that you can refer to the external repository. Note that <external_name> can be a branch name, a commit, or a tag name. 

<external_url> is the URL for the external repository.

...

<external_branchname> refers to local branch created with git subtree split . In in preparation for merging with an upstream repository.

...

  1.  Verify that the external code in the ACME repository has been not been modified since the initial commit (cd <external-_subdir>; git diff --name-only v0.0 .). If there are changes (non-blank output), follow the 'Merge changes from external into ACME subtree' workflow below.
  2. 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.
  3. Add external git repo to as a remote in your local repository copy (git remote add -f --tags <external_name> <external_url>).

    1. Example:  git remote add -f --tags MCTorigin https://github.com/MCSclimate/MCT
  4. Remove the code from your working copy (git rm -r <external-_subdir>).
  5. Add code from external git repo to ACME (git read-tree --prefix=<external_subdir>/ -u <external_commit>).
    1. Example:  git read-tree --prefix=models/utils/mct/ -u MCT_2.9.0-rc0
  6. Check your work (git status)
  7. Commit the change (git commit).
  8. Test and submit a pull request as defined in the development practices page.

...