Zsolt Parragi 4fe34b2d29 Fixing warnings generated by clang 8.0 on Windows 6 years ago
..
include 4fe34b2d29 Fixing warnings generated by clang 8.0 on Windows 6 years ago
src 5751a09092 jsoncpp: fix signed overflow when parsing negative value 6 years ago
.gitattributes 32fd56b066 jsoncpp: Add .gitattributes to skip whitespace checks 10 years ago
CMakeLists.txt 1699f5c231 Utilities: Suppress warnings in third-party code when using XLClang 6 years ago
LICENSE e09819557f Merge branch 'upstream-jsoncpp' into update-jsoncpp 8 years ago
README-CMake.txt 89cd3d273d jsoncpp: Add README-CMake.txt 10 years ago

README-CMake.txt

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='[email protected]' \
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.