{"ref":"refs/heads/pu","commits":[{"author":{"name":"Nguyễn Thái Ngọc Duy","email":"024f400cd820cb2ddbe54c7fecfd01e45f30bb96@gmail.com"},"url":"https://api.github.com/repos/git/git/commits/c6893323917cbf4cb66c29ba2ac03014a44f0f0c","message":"Convert many resolve_ref() calls to read_ref*() and ref_exists()\n\nresolve_ref() may return a pointer to a static buffer, which is not\nsafe for long-term use because if another resolve_ref() call happens,\nthe buffer may be changed.  Many call sites though do not care about\nthis buffer. They simply check if the return value is NULL or not.\n\nConvert all these call sites to new wrappers to reduce resolve_ref()\ncalls from 57 to 34. If we change resolve_ref() prototype later on\nto avoid passing static buffer out, this helps reduce changes.\n\nSigned-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","sha":"c6893323917cbf4cb66c29ba2ac03014a44f0f0c"},{"author":{"name":"Nguyễn Thái Ngọc Duy","email":"024f400cd820cb2ddbe54c7fecfd01e45f30bb96@gmail.com"},"url":"https://api.github.com/repos/git/git/commits/b9177dfc65b509ef84a6823482a97ec334f3f661","message":"Copy resolve_ref() return value for longer use\n\nresolve_ref() may return a pointer to a static buffer. Callers that\nuse this value longer than a couple of statements should copy the\nvalue to avoid some hidden resolve_ref() call that may change the\nstatic buffer's value.\n\nThe bug found by Tony Wang <wwwjfy@gmail.com> in builtin/merge.c\ndemonstrates this. The first call is in cmd_merge()\n\nbranch = resolve_ref(\"HEAD\", head_sha1, 0, &flag);\n\nThen deep in lookup_commit_or_die() a few lines after, resolve_ref()\nmay be called again and destroy \"branch\".\n\nlookup_commit_or_die\n lookup_commit_reference\n  lookup_commit_reference_gently\n   parse_object\n    lookup_replace_object\n     do_lookup_replace_object\n      prepare_replace_object\n       for_each_replace_ref\n        do_for_each_ref\n         get_loose_refs\n          get_ref_dir\n           get_ref_dir\n            resolve_ref\n\nAll call sites are checked and made sure that xstrdup() is called if\nthe value should be saved.\n\nSigned-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","sha":"b9177dfc65b509ef84a6823482a97ec334f3f661"},{"author":{"name":"Junio C Hamano","email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com"},"url":"https://api.github.com/repos/git/git/commits/40fa3f260b3c40a742d8bb9b21490ed203571064","message":"Merge branch 'jc/request-pull-show-head-4' into jch\n\n* jc/request-pull-show-head-4:\n  request-pull: use the annotated tag contents","sha":"40fa3f260b3c40a742d8bb9b21490ed203571064"},{"author":{"name":"Junio C Hamano","email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com"},"url":"https://api.github.com/repos/git/git/commits/540cd02a9658f69dbdcf5db44bbe6579699d9fc0","message":"Merge branch 'ab/clang-lints' into jch\n\n* ab/clang-lints:\n  cast variable in call to free() in builtin/diff.c and submodule.c\n  apply: get rid of useless x < 0 comparison on a size_t type","sha":"540cd02a9658f69dbdcf5db44bbe6579699d9fc0"},{"author":{"name":"Junio C Hamano","email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com"},"url":"https://api.github.com/repos/git/git/commits/55c3e3fa8ce341e2713ca19073f5f6274463bad8","message":"Merge branch 'nd/fsck-progress' into jch\n\n* nd/fsck-progress:\n  fsck: print progress\n  fsck: avoid reading every object twice\n  verify_packfile(): check as many object as possible in a pack\n  fsck: return error code when verify_pack() goes wrong","sha":"55c3e3fa8ce341e2713ca19073f5f6274463bad8"},{"author":{"name":"Junio C Hamano","email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com"},"url":"https://api.github.com/repos/git/git/commits/cf808d800186b5a730eebbd247383b57b014c4b0","message":"Merge branch 'nd/prune-progress' into jch\n\n* nd/prune-progress:\n  reachable: per-object progress\n  prune: handle --progress/no-progress\n  prune: show progress while marking reachable objects","sha":"cf808d800186b5a730eebbd247383b57b014c4b0"},{"author":{"name":"Junio C Hamano","email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com"},"url":"https://api.github.com/repos/git/git/commits/4f26a23c3d01c4fa1873d61f8c8b276c19bfb926","message":"Merge branch 'ab/pull-rebase-config' into jch\n\n* ab/pull-rebase-config:\n  pull: introduce a pull.rebase option to enable --rebase","sha":"4f26a23c3d01c4fa1873d61f8c8b276c19bfb926"},{"author":{"name":"Junio C Hamano","email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com"},"url":"https://api.github.com/repos/git/git/commits/f892e5145105819a055cc43bd6bd094487ccbb80","message":"Merge branch 'cb/daemon-permission-errors' into pu\n\n* cb/daemon-permission-errors:\n  daemon: report permission denied error to clients\n  daemon: add tests\n\nConflicts:\n\tpath.c","sha":"f892e5145105819a055cc43bd6bd094487ccbb80"},{"author":{"name":"Junio C Hamano","email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com"},"url":"https://api.github.com/repos/git/git/commits/95bea53f530d8dea4a622da7a3b76e325f53c149","message":"Merge branch 'jn/gitweb-side-by-side-diff' into pu\n\n* jn/gitweb-side-by-side-diff:\n  gitweb: Add navigation to select side-by-side diff\n  gitweb: Use href(-replay=>1,...) for formats links in \"commitdiff\"\n  t9500: Add basic sanity tests for side-by-side diff in gitweb\n  t9500: Add test for handling incomplete lines in diff by gitweb\n  gitweb: Give side-by-side diff extra CSS styling\n  gitweb: Add a feature to show side-by-side diff\n  gitweb: Extract formatting of diff chunk header\n  gitweb: Refactor diff body line classification","sha":"95bea53f530d8dea4a622da7a3b76e325f53c149"},{"author":{"name":"Junio C Hamano","email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com"},"url":"https://api.github.com/repos/git/git/commits/466146759176375686487b0e197964093fdf4c7e","message":"Merge branch 'sr/transport-helper-fix-rfc' into pu\n\n* sr/transport-helper-fix-rfc:\n  t5800: point out that deleting branches does not work\n  t5800: document inability to push new branch with old content","sha":"466146759176375686487b0e197964093fdf4c7e"},{"author":{"name":"Junio C Hamano","email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com"},"url":"https://api.github.com/repos/git/git/commits/59ea8d44fd1e71fb58fc5757aeaf1e15491c5b30","message":"Merge branch 'jc/stream-to-pack' into pu\n\n* jc/stream-to-pack:\n  Bulk check-in\n  finish_tmp_packfile(): a helper function\n  create_tmp_packfile(): a helper function\n  write_pack_header(): a helper function\n\nConflicts:\n\tpack.h","sha":"59ea8d44fd1e71fb58fc5757aeaf1e15491c5b30"},{"author":{"name":"Junio C Hamano","email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com"},"url":"https://api.github.com/repos/git/git/commits/f625a2ade2d5645bb537e2b75bd5620b5d2f1abd","message":"Merge branch 'vr/msvc' into pu\n\n* vr/msvc:\n  MSVC: Remove unneeded header stubs\n  Compile fix for MSVC: Include <io.h>\n  Compile fix for MSVC: Do not include sys/resources.h","sha":"f625a2ade2d5645bb537e2b75bd5620b5d2f1abd"},{"author":{"name":"Junio C Hamano","email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com"},"url":"https://api.github.com/repos/git/git/commits/a7dd81e4496aba44e2d18b18349519e8c81109e9","message":"Merge branch 'na/strtoimax' into pu\n\n* na/strtoimax:\n  Support sizes >=2G in various config options accepting 'g' sizes.\n  Compatibility: declare strtoimax() under NO_STRTOUMAX\n  Add strtoimax() compatibility function.","sha":"a7dd81e4496aba44e2d18b18349519e8c81109e9"},{"author":{"name":"Junio C Hamano","email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com"},"url":"https://api.github.com/repos/git/git/commits/e5afe87185b86e91134ae565fa46178a63f29f3b","message":"Merge branch 'sr/fix-fast-export-tips' into pu\n\n* sr/fix-fast-export-tips:\n  fast-export: output reset command for commandline revs\n  fast-export: do not refer to non-existing marks\n  t9350: point out that refs are not updated correctly","sha":"e5afe87185b86e91134ae565fa46178a63f29f3b"},{"author":{"name":"Junio C Hamano","email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com"},"url":"https://api.github.com/repos/git/git/commits/3b3d41c4df69c18fe34085f058a0bfb4961c3c72","message":"Merge branch 'eh/grep-scale-to-cpunum' into pu\n\n* eh/grep-scale-to-cpunum:\n  grep: detect number of CPUs for thread spawning","sha":"3b3d41c4df69c18fe34085f058a0bfb4961c3c72"},{"author":{"name":"Junio C Hamano","email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com"},"url":"https://api.github.com/repos/git/git/commits/e20db2790bfcfe6c95ec0d7016f0f7fb95264c9f","message":"Merge branch 'jc/pull-signed-tag' into pu\n\n* jc/pull-signed-tag:\n  commit-tree: teach -m/-F options to read logs from elsewhere\n  commit-tree: update the command line parsing\n  commit: teach --amend to carry forward extra headers\n  merge: force edit and no-ff mode when merging a tag object\n  commit: copy merged signed tags to headers of merge commit\n  merge: record tag objects without peeling in MERGE_HEAD\n  merge: make usage of commit->util more extensible\n  fmt-merge-msg: Add contents of merged tag in the merge message\n  fmt-merge-msg: package options into a structure\n  fmt-merge-msg: avoid early returns\n  refs DWIMmery: use the same rule for both \"git fetch\" and others\n  fetch: allow \"git fetch $there v1.0\" to fetch a tag\n  merge: notice local merging of tags and keep it unwrapped\n  fetch: do not store peeled tag object names in FETCH_HEAD\n  Split GPG interface into its own helper library\n\nConflicts:\n\tbuiltin/fmt-merge-msg.c","sha":"e20db2790bfcfe6c95ec0d7016f0f7fb95264c9f"},{"author":{"name":"Junio C Hamano","email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com"},"url":"https://api.github.com/repos/git/git/commits/80f0b8268a788a24d9cfdf8357f75205e779a56f","message":"Merge branch 'jc/signed-commit' into pu\n\n* jc/signed-commit:\n  pretty: %G[?GS] placeholders\n  test \"commit -S\" and \"log --show-signature\"\n  log: --show-signature\n  commit: teach --gpg-sign option\n\nConflicts:\n\tbuiltin/merge.c","sha":"80f0b8268a788a24d9cfdf8357f75205e779a56f"},{"author":{"name":"Junio C Hamano","email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com"},"url":"https://api.github.com/repos/git/git/commits/48dced65dc5826090bae018afbdc71208332e045","message":"Merge branch 'jc/commit-tree-extra' into pu\n\n* jc/commit-tree-extra:\n  commit-tree: teach -C <extra-commit>\n  commit-tree: teach -x <extra>\n\nConflicts:\n\tbuiltin/commit-tree.c","sha":"48dced65dc5826090bae018afbdc71208332e045"},{"author":{"name":"Junio C Hamano","email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com"},"url":"https://api.github.com/repos/git/git/commits/8c22cf653f9c9a63ac8801a9b17081730fb8e847","message":"Merge branch 'nd/resolve-ref' into pu\n\n* nd/resolve-ref:\n  Copy resolve_ref() return value for longer use\n  Convert many resolve_ref() calls to read_ref*() and ref_exists()\n\nConflicts:\n\tbuiltin/fmt-merge-msg.c\n\tbuiltin/merge.c\n\trefs.c","sha":"8c22cf653f9c9a63ac8801a9b17081730fb8e847"},{"author":{"name":"Junio C Hamano","email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com"},"url":"https://api.github.com/repos/git/git/commits/d1f7584156f11e53269ddc40046b96d758576a2d","message":"Merge branch 'hv/submodule-merge-search' into pu\n\n* hv/submodule-merge-search:\n  submodule.c: make two functions static\n  allow multiple calls to submodule merge search for the same path\n  push: Don't push a repository with unpushed submodules\n  push: teach --recurse-submodules the on-demand option\n\nConflicts:\n\tsubmodule.c","sha":"d1f7584156f11e53269ddc40046b96d758576a2d"}],"head":"50ee3898d12666dcca83762e36917462058d27e5","size":22,"push_id":49846834}