123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- The Utilities/cmjsoncpp directory contains a reduced distribution
- of the jsoncpp source tree with only the library source code and
- CMake build system. It is not a submodule; the actual content is part
- of our source tree and changes can be made and committed directly.
- We update from upstream using Git's "subtree" merge strategy. A
- special branch contains commits of upstream jsoncpp snapshots and
- nothing else. No Git ref points explicitly to the head of this
- branch, but it is merged into our history.
- Update jsoncpp from upstream as follows. Create a local branch to
- explicitly reference the upstream snapshot branch head:
- git branch jsoncpp-upstream 53f6ccb0
- Use a temporary directory to checkout the branch:
- mkdir jsoncpp-tmp
- cd jsoncpp-tmp
- git init
- git pull .. jsoncpp-upstream
- rm -rf *
- Now place the (reduced) jsoncpp content in this directory. See
- instructions shown by
- git log 53f6ccb0
- for help extracting the content from the upstream svn repo. Then run
- the following commands to commit the new version. Substitute the
- appropriate date and version number:
- git add --all
- GIT_AUTHOR_NAME='JsonCpp Upstream' \
- GIT_AUTHOR_EMAIL='kwrobot@kitware.com' \
- GIT_AUTHOR_DATE='Thu Nov 20 08:45:58 2014 -0600' \
- git commit -m 'JsonCpp 1.0.0 (reduced)' &&
- git commit --amend
- Edit the commit message to describe the procedure used to obtain the
- content. Then push the changes back up to the main local repository:
- git push .. HEAD:jsoncpp-upstream
- cd ..
- rm -rf jsoncpp-tmp
- Create a topic in the main repository on which to perform the update:
- git checkout -b update-jsoncpp master
- Merge the jsoncpp-upstream branch as a subtree:
- git merge -s recursive -X subtree=Utilities/cmjsoncpp \
- jsoncpp-upstream
- If there are conflicts, resolve them and commit. Build and test the
- tree. Commit any additional changes needed to succeed.
- Finally, run
- git rev-parse --short=8 jsoncpp-upstream
- to get the commit from which the jsoncpp-upstream branch must be started
- on the next update. Edit the "git branch jsoncpp-upstream" line above to
- record it, and commit this file.
|