Versions Compared

Key

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

...

Summary of merges and splits

directioncommitfeature branchstart of feature branchnotes
merge ESMCI to ACME

in ACME c50a810d9544251d50

 

in ACME: /rljacob/cime/cime5-upgrade

in ACME: First removed cime2 in 8ed674f84ce

Then did a subtree merge squash of 0eb331d in 7d7641505cc

That squash was merge-committed to the branch in 15abd5853

brought in CIME5.1.4

Did a bunch more commits on that branch to get everything working.

split ACME to ESMCI


send ACME's CIME5.1 changes to ESMCI
merge ESMCI to ACME


brought in CIME5.2.0
split ACME to ESMCI


Send ACME's CIME5.2 changes to ESMCI


Add of CIME5 to ACME:

The existing cime was removed with git rm and the above repeated with

...

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

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

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.
NOTE: 628a26d is first hast after last split from ACME
      215e459 is hash of last pull from ESMCI, tag CIME5.2.0
$ git remotesubtree addsplit esmcicime git@github.com:ESMCI/CIME.git
$ git fetch esmcicime628a26d^.. --prefix=cime --onto=215e459 --ignore-joins -b agsalin/split-03292017

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-acme52acmesplit-merge03292017
$ git merge -X rename-threshold=25  agsalin/acme-to-cime-03162017split-03292017

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.
  Git checkout --theirs <file> will take ACME version 
$ <Numerous conflict edits, followed by "git add <file>" for each <file> with conflict>
$ git commit .
$ git push esmcicime agsalin/cime52-with-acme52acmesplit-merge03292017
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-0316201703292017
$ git merge  agsalin/cime52-with-acme52acmesplit-merge03292017

 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-0316201703292017
Issue PR