Versions Compared

Key

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

...

Code Block
This setting can be needed.
$ git config merge.renameLimit 999999

get ACME code
$ git clone git@github.com:ACME-Climate/ACME.git
$ cd ACME

Create cime subtree of ACME. You will still be in a directory
called ACME, but it will now have the cime dir contents
$ git subtree split --prefix cime/ --ignore-joins -b agsalin/acme-to-cime-03162017

Add ESMCI/CIME as an additional remote.
$ git remote add esmcicime git@github.com:ACME-ClimateESMCI/cimeCIME.git
$ git fetch esmcicime

Create a branch off of the CIME tag that ACME last incorporated,
and merge the acme/cime subtree changes onto that branch.
NOTE: YOU NEED TO PICK THE CORRECT TAG HERE
$ git checkout tags/cime5.2.0
$ git checkout -b agsalin/cime52-with-acme52-merge
$ git merge -X rename-threshold=25  agsalin/acme-to-cime-03162017

Resolve conflicts and commit (acme/cime changes into branch off of esmci/cime tag)
Most conflicts can be settled by taking ACME version, since we backed up CIME to the tag.
$ <Numerous conflict edits, followed by "git add <file>" for each <file> with conflict>
$ git commit .
$ git push esmcicime agsalin/cime52-with-acme52-merge
Now, you have a branch of cime, off of the tag, with ACME changes added in

Create a branch off of CIME master, and merge the acme changes into it
$ git checkout esmcicime/master
$ git checkout -b agsalin/merge-from-acme-03162017
$ git merge  agsalin/cime52-with-acme52-merge

 Resolve conflicts and commit (acme/cime changes added to CIME tag, merged into cime master)
$ <Numerous conflict edits, followed by "git add <file>" for each <file> with conflict>
$ ./scripts/tests/scripts_regression_tests.py
$ git push esmcicime agsalin/merge-from-acme-03162017
Issue PR