{"push_id":678877296,"size":10,"distinct_size":8,"ref":"refs/heads/pt/builtin-am","head":"459af5035b657458ad3bb82a0cb48a30d4c90a43","before":"b9ce55bf14ce87a40c2553766828ce880bf0cf81","commits":[{"sha":"fa73a582b5e7e01184171dc310c7ee0bd9bb2721","author":{"email":"696e3fbcf235d40b6ea1ebd61c87cbea79d444e7@peff.net","name":"Jeff King"},"message":"t7063: hide stderr from setup inside prereq\n\nWhen t7063 starts, it runs \"update-index --untracked-cache\"\nto see if we support the untracked cache. Its output goes\nstraight to stderr, even if the test is not run with \"-v\".\nLet's wrap it in a prereq that will hide the output by\ndefault, but show it with \"-v\".\n\nSigned-off-by: Jeff King <peff@peff.net>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>","distinct":false,"url":"https://api.github.com/repos/pyokagan/git/commits/fa73a582b5e7e01184171dc310c7ee0bd9bb2721"},{"sha":"77bd3ea9f54f1584147b594abc04c26ca516d987","author":{"email":"a6723cc3f76163bf7adb636a73ac3b0ceb3e6b9b@pobox.com","name":"Junio C Hamano"},"message":"Merge branch 'nd/untracked-cache'\n\n* nd/untracked-cache:\n  t7063: hide stderr from setup inside prereq","distinct":false,"url":"https://api.github.com/repos/pyokagan/git/commits/77bd3ea9f54f1584147b594abc04c26ca516d987"},{"sha":"4b225bf849245bd45d8b310624589be2f68b8b08","author":{"email":"ca5433e1cdd25b4a4001c54525dea593b33edc0c@gmail.com","name":"Paul Tan"},"message":"wrapper: implement xopen()\n\nA common usage pattern of open() is to check if it was successful, and\ndie() if it was not:\n\n\tint fd = open(path, O_WRONLY | O_CREAT, 0777);\n\tif (fd < 0)\n\t\tdie_errno(_(\"Could not open '%s' for writing.\"), path);\n\nImplement a wrapper function xopen() that does the above so that we can\nsave a few lines of code, and make the die() messages consistent.\n\nSigned-off-by: Paul Tan <pyokagan@gmail.com>","distinct":true,"url":"https://api.github.com/repos/pyokagan/git/commits/4b225bf849245bd45d8b310624589be2f68b8b08"},{"sha":"5faf17da796b3d214c28f50dcd4a4eb7067faea0","author":{"email":"ca5433e1cdd25b4a4001c54525dea593b33edc0c@gmail.com","name":"Paul Tan"},"message":"wrapper: implement xfopen()\n\nA common usage pattern of fopen() is to check if it succeeded, and die()\nif it failed:\n\n\tFILE *fp = fopen(path, \"w\");\n\tif (!fp)\n\t\tdie_errno(_(\"could not open '%s' for writing\"), path);\n\nImplement a wrapper function xfopen() for the above, so that we can save\na few lines of code and make the die() messages consistent.\n\nSigned-off-by: Paul Tan <pyokagan@gmail.com>","distinct":true,"url":"https://api.github.com/repos/pyokagan/git/commits/5faf17da796b3d214c28f50dcd4a4eb7067faea0"},{"sha":"9a426562dbfb8bf9a99c3abd66a1f340a5d759b4","author":{"email":"ca5433e1cdd25b4a4001c54525dea593b33edc0c@gmail.com","name":"Paul Tan"},"message":"am: implement patch queue mechanism\n\ngit-am applies a series of patches. If the process terminates\nabnormally, we want to be able to resume applying the series of patches.\nThis requires the session state to be saved in a persistent location.\n\nImplement the mechanism of a \"patch queue\", represented by 2 integers --\nthe index of the current patch we are applying and the index of the last\npatch, as well as its lifecycle through the following functions:\n\n* am_setup(), which will set up the state directory\n  $GIT_DIR/rebase-apply. As such, even if the process exits abnormally,\n  the last-known state will still persist.\n\n* am_state_load(), which is called if there is an am session in\n  progress, to load the last known state from the state directory so we\n  can resume applying patches.\n\n* am_run(), which will do the actual patch application. After applying a\n  patch, it calls am_next() to increment the current patch index. The\n  logic for applying and committing a patch is not implemented yet.\n\n* am_destroy(), which is finally called when we successfully applied all\n  the patches in the queue, to clean up by removing the state directory\n  and its contents.\n\nSigned-off-by: Paul Tan <pyokagan@gmail.com>","distinct":true,"url":"https://api.github.com/repos/pyokagan/git/commits/9a426562dbfb8bf9a99c3abd66a1f340a5d759b4"},{"sha":"9878d3742ba24424d16f043dd04cb08b247b82f3","author":{"email":"ca5433e1cdd25b4a4001c54525dea593b33edc0c@gmail.com","name":"Paul Tan"},"message":"am: split out mbox/maildir patches with git-mailsplit\n\ngit-am.sh supports mbox, stgit and mercurial patches. Re-implement\nsupport for splitting out mbox/maildirs using git-mailsplit, while also\nimplementing the framework required to support other patch formats in\nthe future.\n\nRe-implement support for the --patch-format option (since a5a6755\n(git-am foreign patch support: introduce patch_format, 2009-05-27)) to\nallow the user to choose between the different patch formats.\n\nSigned-off-by: Paul Tan <pyokagan@gmail.com>","distinct":true,"url":"https://api.github.com/repos/pyokagan/git/commits/9878d3742ba24424d16f043dd04cb08b247b82f3"},{"sha":"43d76a73bd69d535345e3a066444967b6f341091","author":{"email":"ca5433e1cdd25b4a4001c54525dea593b33edc0c@gmail.com","name":"Paul Tan"},"message":"am: detect mbox patches\n\nSince 15ced75 (git-am foreign patch support: autodetect some patch\nformats, 2009-05-27), git-am.sh is able to autodetect mbox, stgit and\nmercurial patches through heuristics.\n\nRe-implement support for autodetecting mbox/maildir files.\n\nSigned-off-by: Paul Tan <pyokagan@gmail.com>","distinct":true,"url":"https://api.github.com/repos/pyokagan/git/commits/43d76a73bd69d535345e3a066444967b6f341091"},{"sha":"67754ac94a50395c3841594bc87f76fd6b612eb6","author":{"email":"ca5433e1cdd25b4a4001c54525dea593b33edc0c@gmail.com","name":"Paul Tan"},"message":"am: extract patch, message and authorship with git-mailinfo\n\nFor the purpose of applying the patch and committing the results,\nimplement extracting the patch data, commit message and authorship from\nan e-mail message using git-mailinfo.\n\ngit-mailinfo is run as a separate process, but ideally in the future,\nwe should be be able to access its functionality directly without\nspawning a new process.\n\nSigned-off-by: Paul Tan <pyokagan@gmail.com>","distinct":true,"url":"https://api.github.com/repos/pyokagan/git/commits/67754ac94a50395c3841594bc87f76fd6b612eb6"},{"sha":"ac19c7a7a3e3b3d024f137c8af3680d77987e38b","author":{"email":"ca5433e1cdd25b4a4001c54525dea593b33edc0c@gmail.com","name":"Paul Tan"},"message":"am: apply patch with git-apply\n\nImplement applying the patch to the index using git-apply.\n\nSigned-off-by: Paul Tan <pyokagan@gmail.com>","distinct":true,"url":"https://api.github.com/repos/pyokagan/git/commits/ac19c7a7a3e3b3d024f137c8af3680d77987e38b"},{"sha":"459af5035b657458ad3bb82a0cb48a30d4c90a43","author":{"email":"ca5433e1cdd25b4a4001c54525dea593b33edc0c@gmail.com","name":"Paul Tan"},"message":"am: commit applied patch\n\nImplement do_commit(), which commits the index which contains the\nresults of applying the patch, along with the extracted commit message\nand authorship information.\n\nSigned-off-by: Paul Tan <pyokagan@gmail.com>","distinct":true,"url":"https://api.github.com/repos/pyokagan/git/commits/459af5035b657458ad3bb82a0cb48a30d4c90a43"}]}