{"thread":{"id":"40308","subject":"[PATCH] am --skip/--abort: merge HEAD/ORIG_HEAD tree into index","startedAt":"2015-09-09T09:10:07Z","lastAt":"2015-09-09T21:29:07Z","messageCount":3,"participants":["Johannes Schindelin","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"269645","messageId":"0000014fb15e897e-4f1178b9-69d9-4015-808b-e073c134281c-000000@eu-west-1.amazonses.com","threadId":"40308","inReplyTo":null,"subject":"[PATCH] am --skip/--abort: merge HEAD/ORIG_HEAD tree into index","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2015-09-09T09:10:07Z","receivedAt":"2015-09-09T09:10:07Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"This is a backport of the corresponding patch to the builtin am in 2.6:\n3ecc704 (am --skip/--abort: merge HEAD/ORIG_HEAD tree into index,\n2015-08-19).\n\nReportedly, it can make a huge difference on Windows, in one case a `git\nrebase --skip` took 1m40s without, and 5s with, this patch.\n\nReported-and-suggested-by: Kim Gybels <kim.gybels@engilico.com>\nOriginal report: https://github.com/git-for-windows/git/issues/365\nAcked-by: Paul Tan <pyokagan@gmail.com>\nSigned-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>\n---\n contrib/examples/git-am.sh | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/contrib/examples/git-am.sh b/contrib/examples/git-am.sh\nindex 3b77028..dd539f1 100755\n--- a/contrib/examples/git-am.sh\n+++ b/contrib/examples/git-am.sh\n@@ -512,7 +512,7 @@ then\n \t\tgit read-tree --reset -u $head_tree $head_tree &&\n \t\tindex_tree=$(git write-tree) &&\n \t\tgit read-tree -m -u $index_tree $head_tree\n-\t\tgit read-tree $head_tree\n+\t\tgit read-tree -m $head_tree\n \t\t;;\n \t,t)\n \t\tif test -f \"$dotest/rebasing\"\n\n--\nhttps://github.com/git/git/pull/173\n"},{"id":"269649","messageId":"1da3956b12c7d20fcd90ebffea9c8f68@dscho.org","threadId":"40308","inReplyTo":"0000014fb15e897e-4f1178b9-69d9-4015-808b-e073c134281c-000000@eu-west-1.amazonses.com","subject":"Re: [PATCH] am --skip/--abort: merge HEAD/ORIG_HEAD tree into index","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2015-09-09T11:45:00Z","receivedAt":"2015-09-09T11:45:00Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Junio,\n\nOn 2015-09-09 11:10, Johannes Schindelin wrote:\n> This is a backport of the corresponding patch to the builtin am in 2.6:\n> 3ecc704 (am --skip/--abort: merge HEAD/ORIG_HEAD tree into index,\n> 2015-08-19).\n> \n> Reportedly, it can make a huge difference on Windows, in one case a `git\n> rebase --skip` took 1m40s without, and 5s with, this patch.\n> \n> Reported-and-suggested-by: Kim Gybels <kim.gybels@engilico.com>\n> Original report: https://github.com/git-for-windows/git/issues/365\n> Acked-by: Paul Tan <pyokagan@gmail.com>\n> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>\n> ---\n>  contrib/examples/git-am.sh | 2 +-\n\nOf course this should be `git-am.sh` in the 2.5.x branch... Could you adjust that on your side?\n\nThanks,\nDscho\n"},{"id":"269669","messageId":"xmqqlhcf5ljw.fsf@gitster.mtv.corp.google.com","threadId":"40308","inReplyTo":"1da3956b12c7d20fcd90ebffea9c8f68@dscho.org","subject":"Re: [PATCH] am --skip/--abort: merge HEAD/ORIG_HEAD tree into index","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2015-09-09T21:29:07Z","receivedAt":"2015-09-09T21:29:07Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Johannes Schindelin <johannes.schindelin@gmx.de> writes:\n\n> On 2015-09-09 11:10, Johannes Schindelin wrote:\n>> This is a backport of the corresponding patch to the builtin am in 2.6:\n>> 3ecc704 (am --skip/--abort: merge HEAD/ORIG_HEAD tree into index,\n>> 2015-08-19).\n>> \n>> Reportedly, it can make a huge difference on Windows, in one case a `git\n>> rebase --skip` took 1m40s without, and 5s with, this patch.\n>> \n>> Reported-and-suggested-by: Kim Gybels <kim.gybels@engilico.com>\n>> Original report: https://github.com/git-for-windows/git/issues/365\n>> Acked-by: Paul Tan <pyokagan@gmail.com>\n>> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>\n>> ---\n>>  contrib/examples/git-am.sh | 2 +-\n>\n> Of course this should be `git-am.sh` in the 2.5.x branch... Could you\n> adjust that on your side?\n\n\"git am -3\" is smart enough that applying this patch on a branch\nthat contains the performance regression does the right thing\nwithout me having to think.  The most time-consuming part on my part\nwas to figure out which exact commit this change is fixing and then\nfind out to which maintenance tracks contains that breakage.\n\nHere is what I'll queue on top of maint-2.4 series.\n\nThanks.\n\n-- >8 --\nFrom: Johannes Schindelin <johannes.schindelin@gmx.de>\nDate: Wed, 9 Sep 2015 09:10:07 +0000\nSubject: [PATCH] am --skip/--abort: merge HEAD/ORIG_HEAD tree into index\n\nf8da6801 (am --skip: support skipping while on unborn branch,\n2015-06-06) introduced a performance regression to \"git am --skip\",\nwhere it used \"read-tree\" to reconstruct the index from scratch\nwithout reusing the cached stat information.\n\nThis is a backport of the corresponding patch to the builtin am in 2.6:\n3ecc704 (am --skip/--abort: merge HEAD/ORIG_HEAD tree into index,\n2015-08-19).\n\nReportedly, it can make a huge difference on Windows, in one case a `git\nrebase --skip` took 1m40s without, and 5s with, this patch.\n\ncf. https://github.com/git-for-windows/git/issues/365\n\nReported-and-suggested-by: Kim Gybels <kgybels@infogroep.be>\nAcked-by: Paul Tan <pyokagan@gmail.com>\nSigned-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>\n---\n git-am.sh | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/git-am.sh b/git-am.sh\nindex 3103c0f..4ab1f21 100755\n--- a/git-am.sh\n+++ b/git-am.sh\n@@ -509,7 +509,7 @@ then\n \t\tgit read-tree --reset -u $head_tree $head_tree &&\n \t\tindex_tree=$(git write-tree) &&\n \t\tgit read-tree -m -u $index_tree $head_tree\n-\t\tgit read-tree $head_tree\n+\t\tgit read-tree -m $head_tree\n \t\t;;\n \t,t)\n \t\tif test -f \"$dotest/rebasing\"\n-- \n2.6.0-rc1-125-gb648220\n"}]}