{"push_id":1200304528,"size":95,"distinct_size":95,"ref":"refs/heads/pu","head":"44666d3e0afbd76ede8e10b16e0c7fd07f9dd6d8","before":"a65cd17bc6c5890cd003cf9fdb7f9d7d00a49320","commits":[{"sha":"d9d14268309469997d8a9df5320d24ce20d1ffb7","author":{"name":"Lars Schneider","email":"1083276a35727bea5073871fe5190a13ebd8558f@gmail.com"},"message":"travis-ci: enable web server tests t55xx on Linux\n\nInstall the \"apache\" package to run the Git web server tests on\nTravis-CI Linux build machines. The tests are already executed on OS X\nbuild machines since the apache web server is installed by default.\n\nSigned-off-by: Lars Schneider <larsxschneider@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/git/git/commits/d9d14268309469997d8a9df5320d24ce20d1ffb7"},{"sha":"ed6a5dba59eab33d4f77df95d35b0ea66255f9db","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'ls/travis-enable-httpd-tests' into jch\n\n* ls/travis-enable-httpd-tests:\n  travis-ci: enable web server tests t55xx on Linux","distinct":true,"url":"https://api.github.com/repos/git/git/commits/ed6a5dba59eab33d4f77df95d35b0ea66255f9db"},{"sha":"211c61c6cf56699fc7b520a0206d23f5e4a7261b","author":{"name":"Nguyễn Thái Ngọc Duy","email":"d0e3b15a74ff6c70e81434a55b9c843230dc3715@gmail.com"},"message":"pack-objects: pass length to check_pack_crc() without truncation\n\nOn 32 bit systems with large file support, unsigned long is 32-bit\nwhile the two offsets in the subtraction expression (pack-objects has\nthe exact same expression as in sha1_file.c but not shown in diff) are\nin 64-bit. If an in-pack object is larger than 2^32 len/datalen is\ntruncated and we get a misleading \"error: bad packed object CRC for\n...\" as a result.\n\nUse off_t for len and datalen. check_pack_crc() already accepts this\nargument as off_t and can deal with 4+ GB.\n\nNoticed-by: Christoph Michelbach <michelbach94@gmail.com>\nSigned-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/git/git/commits/211c61c6cf56699fc7b520a0206d23f5e4a7261b"},{"sha":"fdace779c792e9792bd65e5911aa8827fefb4fbb","author":{"name":"Nguyễn Thái Ngọc Duy","email":"d0e3b15a74ff6c70e81434a55b9c843230dc3715@gmail.com"},"message":"sha1_file.c: use type off_t* for object_info->disk_sizep\n\nThis field, filled by sha1_object_info() contains the on-disk size of\nan object, which could go over 4GB limit of unsigned long on 32-bit\nsystems. Use off_t for it instead and update all callers.\n\nSigned-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/git/git/commits/fdace779c792e9792bd65e5911aa8827fefb4fbb"},{"sha":"0031dfa934340b1ae9767f3dda0ead49cd7f8522","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"SQUASH???","distinct":true,"url":"https://api.github.com/repos/git/git/commits/0031dfa934340b1ae9767f3dda0ead49cd7f8522"},{"sha":"3be2afc60131b6126326bfd59c08f5f7ff00d050","author":{"name":"Nguyễn Thái Ngọc Duy","email":"d0e3b15a74ff6c70e81434a55b9c843230dc3715@gmail.com"},"message":"index-pack: correct \"len\" type in unpack_data()\n\nOn 32-bit systems with large file support, one entry could be larger\nthan 4GB and overflow \"len\". Correct it so we can unpack a full entry.\n\nSigned-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/git/git/commits/3be2afc60131b6126326bfd59c08f5f7ff00d050"},{"sha":"ff5b2246bfe220f164c7e0ac77a6e88cbf6065d8","author":{"name":"Nguyễn Thái Ngọc Duy","email":"d0e3b15a74ff6c70e81434a55b9c843230dc3715@gmail.com"},"message":"index-pack: report correct bad object offsets even if they are large\n\nUse the right type for offsets in this case, off_t, which makes a\ndifference on 32-bit systems with large file support, and change\nformatting code accordingly.\n\nSigned-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/git/git/commits/ff5b2246bfe220f164c7e0ac77a6e88cbf6065d8"},{"sha":"44c2dcf144329272267f45e3836a687d71fb7f7d","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"SQUASH???","distinct":true,"url":"https://api.github.com/repos/git/git/commits/44c2dcf144329272267f45e3836a687d71fb7f7d"},{"sha":"4cadd5075fab1c082718bfe439a95ab6b4a0f1ca","author":{"name":"Nguyễn Thái Ngọc Duy","email":"d0e3b15a74ff6c70e81434a55b9c843230dc3715@gmail.com"},"message":"index-pack: correct \"offset\" type in unpack_entry_data()\n\nunpack_entry_data() receives an off_t value from unpack_raw_entry(),\nwhich could be larger than unsigned long on 32-bit systems with large\nfile support. Correct the type so truncation does not happen. This\nonly affects bad object reporting though.\n\nSigned-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/git/git/commits/4cadd5075fab1c082718bfe439a95ab6b4a0f1ca"},{"sha":"8a56906a9059bf399b0871c80cd2b7b147c88530","author":{"name":"Johannes Schindelin","email":"bcbbbb28c70fb7fad9feeecf0c6b61689637ac75@gmx.de"},"message":"t0006: skip \"far in the future\" test when unsigned long is not long enough\n\nGit's source code refers to timestamps as unsigned longs.  On 32-bit\nplatforms, as well as on Windows, unsigned long is not large enough\nto capture dates that are \"absurdly far in the future\".\n\nWhile we can fix this issue properly by replacing unsigned long with\na larger type, we want to be a bit more conservative and just skip\nthose tests on the maint track.\n\nThe test helper reads the timestamp given from the command line into\n\"unsigned long\" using strtol(), which gives us LONG_MAX upon\noverflow, so feeding 9999999999 and seeing the resulting \"timestamp\"\nshown in year 2038 is a sufficient check for that condition.\n\nSigned-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>\nHelped-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/git/git/commits/8a56906a9059bf399b0871c80cd2b7b147c88530"},{"sha":"3743b257e40a4174879d61083bf7d385974d3d3b","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'js/t0006-for-v2.9.2' into jch\n\n* js/t0006-for-v2.9.2:\n  t0006: skip \"far in the future\" test when unsigned long is not long enough","distinct":true,"url":"https://api.github.com/repos/git/git/commits/3743b257e40a4174879d61083bf7d385974d3d3b"},{"sha":"5a1aca9d93b00e904a8741fa0dc11b9fc19d6cdd","author":{"name":"Nguyễn Thái Ngọc Duy","email":"d0e3b15a74ff6c70e81434a55b9c843230dc3715@gmail.com"},"message":"pack-objects: do not truncate result in-pack object size on 32-bit systems\n\nA typical diff will not show what's going on and you need to see full\nfunctions. The core code is like this, at the end of of write_one()\n\n\te->idx.offset = *offset;\n\tsize = write_object(f, e, *offset);\n\tif (!size) {\n\t\te->idx.offset = recursing;\n\t\treturn WRITE_ONE_BREAK;\n\t}\n\twritten_list[nr_written++] = &e->idx;\n\n\t/* make sure off_t is sufficiently large not to wrap */\n\tif (signed_add_overflows(*offset, size))\n\t\tdie(\"pack too large for current definition of off_t\");\n\t*offset += size;\n\nHere we can see that the in-pack object size is returned by\nwrite_object (or indirectly by write_reuse_object). And it's used to\ncalculate object offsets, which end up in the pack index file,\ngenerated at the end.\n\nIf \"size\" overflows (on 32-bit sytems, unsigned long is 32-bit while\noff_t can be 64-bit), we got wrong offsets and produce incorrect .idx\nfile, which may make it look like the .pack file is corrupted.\n\nSigned-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/git/git/commits/5a1aca9d93b00e904a8741fa0dc11b9fc19d6cdd"},{"sha":"2534f5d447f01d7a27a643794159ac7fe997273b","author":{"name":"Nguyễn Thái Ngọc Duy","email":"d0e3b15a74ff6c70e81434a55b9c843230dc3715@gmail.com"},"message":"fsck: use streaming interface for large blobs in pack\n\nFor blobs, we want to make sure the on-disk data is not corrupted\n(i.e. can be inflated and produce the expected SHA-1). Blob content is\nopaque, there's nothing else inside to check for.\n\nFor really large blobs, we may want to avoid unpacking the entire blob\nin memory, just to check whether it produces the same SHA-1. On 32-bit\nsystems, we may not have enough virtual address space for such memory\nallocation. And even on 64-bit where it's not a problem, allocating a\nlot more memory could result in kicking other parts of systems to swap\nfile, generating lots of I/O and slowing everything down.\n\nFor this particular operation, not unpacking the blob and letting\ncheck_sha1_signature, which supports streaming interface, do the job\nis sufficient. check_sha1_signature() is not shown in the diff,\nunfortunately. But if will be called when \"data_valid && !data\" is\nfalse.\n\nWe will call the callback function \"fn\" with NULL as \"data\". The only\ncallback of this function is fsck_obj_buffer(), which does not touch\n\"data\" at all if it's a blob.\n\nSigned-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/git/git/commits/2534f5d447f01d7a27a643794159ac7fe997273b"},{"sha":"c663f014868cdaac55e3af78007a3d87750ffb81","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"SQUASH???","distinct":true,"url":"https://api.github.com/repos/git/git/commits/c663f014868cdaac55e3af78007a3d87750ffb81"},{"sha":"534e1d94f9111dabf9670be9303cc4c6c982bd5d","author":{"name":"Junio C Hamano","email":"3228067b6039a0d99bddaf967dafdecd5cc61600@pobox.com"},"message":"Merge branch 'cc/apply-am' into jh/clean-smudge-annex\n\n* cc/apply-am: (41 commits)\n  apply: use error_errno() where possible\n  builtin/am: use apply api in run_apply()\n  apply: change error_routine when be_silent is set\n  usage: add get_error_routine() and get_warn_routine()\n  usage: add set_warn_routine()\n  apply: don't print on stdout when be_silent is set\n  apply: make 'be_silent' incompatible with 'apply_verbosely'\n  apply: add 'be_silent' variable to 'struct apply_state'\n  write_or_die: use warning() instead of fprintf(stderr, ...)\n  environment: add set_index_file()\n  apply: make some parsing functions static again\n  apply: move libified code from builtin/apply.c to apply.{c,h}\n  apply: rename and move opt constants to apply.h\n  builtin/apply: rename option parsing functions\n  builtin/apply: make create_one_file() return -1 on error\n  builtin/apply: make try_create_file() return -1 on error\n  builtin/apply: make write_out_results() return -1 on error\n  builtin/apply: make write_out_one_result() return -1 on error\n  builtin/apply: make create_file() return -1 on error\n  builtin/apply: make add_index_file() return -1 on error\n  ...","distinct":true,"url":"https://api.github.com/repos/git/git/commits/534e1d94f9111dabf9670be9303cc4c6c982bd5d"},{"sha":"8c41f2c5d38d7d5a9169664721a8419f9378f777","author":{"name":"Joey Hess","email":"bae6701954bcaadcee3f96567470275ae2dd56c8@joeyh.name"},"message":"clarify %f documentation\n\nIt's natural to expect %f to be an actual file on disk; help avoid that\nmistake.\n\nSigned-off-by: Joey Hess <joeyh@joeyh.name>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/git/git/commits/8c41f2c5d38d7d5a9169664721a8419f9378f777"},{"sha":"345add696118ee648a6ed9aaf809a053e1228d02","author":{"name":"Joey Hess","email":"bae6701954bcaadcee3f96567470275ae2dd56c8@joeyh.name"},"message":"add smudgeToFile and cleanFromFile filter configs\n\nThis adds new smudgeToFile and cleanFromFile filter commands,\nwhich are similar to smudge and clean but allow direct access to files on\ndisk.\n\nThis interface can be much more efficient when operating on large files,\nbecause the whole file content does not need to be streamed through the\nfilter. It even allows for things like cleanFromFile commands that avoid\nreading the whole content of the file, and for smudgeToFile commands that\npopulate a work tree file using an efficient Copy On Write operation.\n\nThe new filter commands will not be used for all filtering. They are\nefficient to use when git add is adding a file, or when the work tree is\nbeing updated, but not a good fit when git is internally filtering blob\nobjects in memory for eg, a diff.\n\nSo, a user who wants to use smudgeToFile should also provide a smudge\ncommand to be used in cases where smudgeToFile is not used. And ditto\nwith cleanFromFile and clean. To avoid foot-shooting configurations, the\nnew commands are not used unless the old commands are also configured.\n\nThat also ensures that a filter driver configuration that includes these\nnew commands will work, although less efficiently, when used with an older\nversion of git that does not support them.\n\nSigned-off-by: Joey Hess <joeyh@joeyh.name>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/git/git/commits/345add696118ee648a6ed9aaf809a053e1228d02"},{"sha":"cddd8dd2b188bacb64d699a28d33532c2a5f85d9","author":{"name":"Joey Hess","email":"bae6701954bcaadcee3f96567470275ae2dd56c8@joeyh.name"},"message":"use cleanFromFile in git add\n\nIncludes test cases.\n\nSigned-off-by: Joey Hess <joeyh@joeyh.name>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/git/git/commits/cddd8dd2b188bacb64d699a28d33532c2a5f85d9"},{"sha":"88486ffcc537d597e5bea3514e0182cbf9ecc7c3","author":{"name":"Joey Hess","email":"bae6701954bcaadcee3f96567470275ae2dd56c8@joeyh.name"},"message":"use smudgeToFile in git checkout etc\n\nThis makes git checkout, git reset, etc use smudgeToFile.\n\nIncludes test cases.\n\n(There's a call to convert_to_working_tree in merge-recursive.c\nthat could also be made to use smudgeToFile as well.)\n\nSigned-off-by: Joey Hess <joeyh@joeyh.name>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/git/git/commits/88486ffcc537d597e5bea3514e0182cbf9ecc7c3"},{"sha":"45d2ef88c8ee28c919d55e105680335fae010d20","author":{"name":"Joey Hess","email":"bae6701954bcaadcee3f96567470275ae2dd56c8@joeyh.name"},"message":"warn on unusable smudgeToFile/cleanFromFile config\n\nLet the user know when they have a smudgeToFile/cleanFromFile config\nthat cannot be used because the corresponding smudge/clean config\nis missing.\n\nThe warning is only displayed a maximum of once per git invocation,\nand only when doing an operation that would use the filter.\n\nSigned-off-by: Joey Hess <joeyh@joeyh.name>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":true,"url":"https://api.github.com/repos/git/git/commits/45d2ef88c8ee28c919d55e105680335fae010d20"}]}
{"actor":{"display_login":"gitster"}}