...
Summary of merges and splits
direction | commit | feature branch | start of feature branch | notes |
---|---|---|---|---|
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 |