{"thread":{"id":"47533","subject":"Bug report: git clone with dest","startedAt":"2018-01-03T21:00:36Z","lastAt":"2018-01-06T04:43:49Z","messageCount":19,"participants":["Isaac Shabtay","Jeff King","Johannes Schindelin","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"335783","messageId":"CAK2k7nSsygwRj_Hhrz7-qXZ8UBB=O+deOeC2FFTkrGmWSUpKqA@mail.gmail.com","threadId":"47533","inReplyTo":null,"subject":"Bug report: git clone with dest","fromName":"Isaac Shabtay","fromEmail":"isaac@shabtay.com","sentAt":"2018-01-03T20:59:48Z","receivedAt":"2018-01-03T21:00:36Z","isPatch":false,"sender":{"key":"isaac@shabtay.com","avatar":"https://gravatar.com/avatar/c47d7b665331b990bf9a360c3bf6806336dedca5bbb62d3826540bfb1b2224a3?d=mp&s=160"},"body":"Hello,\nTarget directory is deleted on clone failures.\n\nSteps to reproduce, for example on Windows:\n\ncd /d %TEMP%\nmkdir dest\ngit clone https://some-fake-url/whatever-makes-git-clone-fail dest\n\nOf course, the clone will fail as it should. But looks like the Git\nclient also ends up deleting the \"dest\" directory.\n\nThis shouldn't happen.\n"},{"id":"335800","messageId":"20180103222821.GA32287@sigill.intra.peff.net","threadId":"47533","inReplyTo":"CAK2k7nSsygwRj_Hhrz7-qXZ8UBB=O+deOeC2FFTkrGmWSUpKqA@mail.gmail.com","subject":"Re: Bug report: git clone with dest","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2018-01-03T22:28:21Z","receivedAt":"2018-01-03T22:28:27Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Wed, Jan 03, 2018 at 12:59:48PM -0800, Isaac Shabtay wrote:\n\n> Target directory is deleted on clone failures.\n> \n> Steps to reproduce, for example on Windows:\n> \n> cd /d %TEMP%\n> mkdir dest\n> git clone https://some-fake-url/whatever-makes-git-clone-fail dest\n> \n> Of course, the clone will fail as it should. But looks like the Git\n> client also ends up deleting the \"dest\" directory.\n\nInteresting. AFAICT Git has behaved this way for almost 9 years, and now\nwe have two reports in two days. Serendipity, or did something else\nchange? :)\n\nAnyway, you might be interested in the patch series I posted yesterday:\n\n  https://public-inbox.org/git/20180102210753.GA10430@sigill.intra.peff.net/\n\n-Peff\n"},{"id":"335801","messageId":"CAK2k7nRdk5qBp6Xzud-GS7YeSpchrQoOdqRd-3uXVeWZ1xsnVg@mail.gmail.com","threadId":"47533","inReplyTo":"20180103222821.GA32287@sigill.intra.peff.net","subject":"Re: Bug report: git clone with dest","fromName":"Isaac Shabtay","fromEmail":"isaac@shabtay.com","sentAt":"2018-01-03T22:44:16Z","receivedAt":"2018-01-03T22:45:04Z","isPatch":false,"sender":{"key":"isaac@shabtay.com","avatar":"https://gravatar.com/avatar/c47d7b665331b990bf9a360c3bf6806336dedca5bbb62d3826540bfb1b2224a3?d=mp&s=160"},"body":"Indeed interesting... this one's for the books...\nThanks for the patches. Any idea when these are going to make it to\nthe official Git client builds? (specifically the Windows one)\n\nOn 3 January 2018 at 14:28, Jeff King <peff@peff.net> wrote:\n> On Wed, Jan 03, 2018 at 12:59:48PM -0800, Isaac Shabtay wrote:\n>\n>> Target directory is deleted on clone failures.\n>>\n>> Steps to reproduce, for example on Windows:\n>>\n>> cd /d %TEMP%\n>> mkdir dest\n>> git clone https://some-fake-url/whatever-makes-git-clone-fail dest\n>>\n>> Of course, the clone will fail as it should. But looks like the Git\n>> client also ends up deleting the \"dest\" directory.\n>\n> Interesting. AFAICT Git has behaved this way for almost 9 years, and now\n> we have two reports in two days. Serendipity, or did something else\n> change? :)\n>\n> Anyway, you might be interested in the patch series I posted yesterday:\n>\n>   https://public-inbox.org/git/20180102210753.GA10430@sigill.intra.peff.net/\n>\n> -Peff\n"},{"id":"335815","messageId":"20180104040124.GA11626@sigill.intra.peff.net","threadId":"47533","inReplyTo":"CAK2k7nQcY+QQBfda6CHM8tFo3i4XX2tXxHKv73t6SJ4rRvWo1w@mail.gmail.com","subject":"Re: Bug report: git clone with dest","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2018-01-04T04:01:25Z","receivedAt":"2018-01-04T04:01:37Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Wed, Jan 03, 2018 at 02:42:51PM -0800, Isaac Shabtay wrote:\n\n> Indeed interesting... this one's for the books...\n> Thanks for the patches. Any idea when these are going to make it to the\n> official Git client builds? (specifically the Windows one)\n\nThey haven't even been reviewed yet. If they get good feedback, then the\nmaintainer will pick them up, then merge them to 'next', and then\neventually to 'master', after which they'd become part of the next\nmajor release. For a pure bug-fix, it may instead go to 'maint' and\nbecome part of the next minor release.\n\nRight now we're entering release freeze for v2.16.0. We'd still take\nfixes for recent breakages there, but given the age of the problem I\ndoubt it will make the cutoff. But as this is a bug-fix, it might make\nit into v2.16.1.\n\n-Peff\n"},{"id":"335893","messageId":"alpine.DEB.2.21.1.1801050019250.32@MININT-6BKU6QN.europe.corp.microsoft.com","threadId":"47533","inReplyTo":"CAK2k7nRdk5qBp6Xzud-GS7YeSpchrQoOdqRd-3uXVeWZ1xsnVg@mail.gmail.com","subject":"Re: Bug report: git clone with dest","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2018-01-04T23:20:44Z","receivedAt":"2018-01-04T23:20:57Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Isaac,\n\nOn Wed, 3 Jan 2018, Isaac Shabtay wrote:\n\n> Indeed interesting... this one's for the books...\n> Thanks for the patches. Any idea when these are going to make it to\n> the official Git client builds? (specifically the Windows one)\n\nIf you help them getting reviewed, tested, and validated, I could be\ntalked into taking them into Git for Windows early so that they'll be in\nGit for Windows v2.16.0. It will require your effort, though.\n\nCiao,\nJohannes\n"},{"id":"335907","messageId":"CAK2k7nTRAqQKFGi0OfVgub3vWZAkdML5p786L7UyhVDFtsk7Xg@mail.gmail.com","threadId":"47533","inReplyTo":"alpine.DEB.2.21.1.1801050019250.32@MININT-6BKU6QN.europe.corp.microsoft.com","subject":"Re: Bug report: git clone with dest","fromName":"Isaac Shabtay","fromEmail":"isaac@shabtay.com","sentAt":"2018-01-05T05:11:58Z","receivedAt":"2018-01-05T05:12:44Z","isPatch":false,"sender":{"key":"isaac@shabtay.com","avatar":"https://gravatar.com/avatar/c47d7b665331b990bf9a360c3bf6806336dedca5bbb62d3826540bfb1b2224a3?d=mp&s=160"},"body":"Hello Johannes, Jeff,\n\nI cloned git's codebase, applied the four patches on master, built and\ntested on Ubuntu Trusty. (After verifying that master indeed exhibits\nthis behaviour on Linux as well. Just checking).\nSeems to work fine.\nI also looked at the code. Most of the patched lines relate to tests,\nand the one for clone.c seems reasonable to me. Added tests seem to\nhave very good coverage too.\n\nI qualify everything I had written above by saying that it's my first\ntime ever looking at Git's source code.\n\nOn 4 January 2018 at 15:20, Johannes Schindelin\n<Johannes.Schindelin@gmx.de> wrote:\n> Hi Isaac,\n>\n> On Wed, 3 Jan 2018, Isaac Shabtay wrote:\n>\n>> Indeed interesting... this one's for the books...\n>> Thanks for the patches. Any idea when these are going to make it to\n>> the official Git client builds? (specifically the Windows one)\n>\n> If you help them getting reviewed, tested, and validated, I could be\n> talked into taking them into Git for Windows early so that they'll be in\n> Git for Windows v2.16.0. It will require your effort, though.\n>\n> Ciao,\n> Johannes\n"},{"id":"335922","messageId":"alpine.DEB.2.21.1.1801051130500.32@MININT-6BKU6QN.europe.corp.microsoft.com","threadId":"47533","inReplyTo":"CAK2k7nTRAqQKFGi0OfVgub3vWZAkdML5p786L7UyhVDFtsk7Xg@mail.gmail.com","subject":"Re: Bug report: git clone with dest","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2018-01-05T10:33:39Z","receivedAt":"2018-01-05T10:33:52Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Isaac,\n\nOn Thu, 4 Jan 2018, Isaac Shabtay wrote:\n\n> I cloned git's codebase, applied the four patches on master, built and\n> tested on Ubuntu Trusty. (After verifying that master indeed exhibits\n> this behaviour on Linux as well. Just checking).\n> Seems to work fine.\n> I also looked at the code. Most of the patched lines relate to tests,\n> and the one for clone.c seems reasonable to me. Added tests seem to\n> have very good coverage too.\n\nThanks.\n\n> I qualify everything I had written above by saying that it's my first\n> time ever looking at Git's source code.\n\nWe all started at some point.\n\nNow, if you want to make this easier for me, could you please apply those\npatches on top of Git for Windows' master branch and open a Pull Request\nat https://github.com/git-for-windows/git?\n\nThank you,\nJohannes\n"},{"id":"335940","messageId":"CAK2k7nSWoNX+Y5dhLqLVzhzE12f3MgZo0R8xrHYKFwxCL+9mEg@mail.gmail.com","threadId":"47533","inReplyTo":"alpine.DEB.2.21.1.1801051130500.32@MININT-6BKU6QN.europe.corp.microsoft.com","subject":"Re: Bug report: git clone with dest","fromName":"Isaac Shabtay","fromEmail":"isaac@shabtay.com","sentAt":"2018-01-05T18:55:46Z","receivedAt":"2018-01-05T18:56:32Z","isPatch":false,"sender":{"key":"isaac@shabtay.com","avatar":"https://gravatar.com/avatar/c47d7b665331b990bf9a360c3bf6806336dedca5bbb62d3826540bfb1b2224a3?d=mp&s=160"},"body":"Done: https://github.com/git-for-windows/git/pull/1421\n\nI added credit to Jeff in the PR's description.\n\nNote that I tried compiling master, but failed due to a reason\nunrelated to this patch:\n\nbuiltin/checkout.c:24:10: fatal error: fscache.h: No such file or directory\n\nMaybe I wasn't building it right.\n\n\n\nOn 5 January 2018 at 02:33, Johannes Schindelin\n<Johannes.Schindelin@gmx.de> wrote:\n> Hi Isaac,\n>\n> On Thu, 4 Jan 2018, Isaac Shabtay wrote:\n>\n>> I cloned git's codebase, applied the four patches on master, built and\n>> tested on Ubuntu Trusty. (After verifying that master indeed exhibits\n>> this behaviour on Linux as well. Just checking).\n>> Seems to work fine.\n>> I also looked at the code. Most of the patched lines relate to tests,\n>> and the one for clone.c seems reasonable to me. Added tests seem to\n>> have very good coverage too.\n>\n> Thanks.\n>\n>> I qualify everything I had written above by saying that it's my first\n>> time ever looking at Git's source code.\n>\n> We all started at some point.\n>\n> Now, if you want to make this easier for me, could you please apply those\n> patches on top of Git for Windows' master branch and open a Pull Request\n> at https://github.com/git-for-windows/git?\n>\n> Thank you,\n> Johannes\n"},{"id":"335948","messageId":"xmqqfu7kcca9.fsf@gitster.mtv.corp.google.com","threadId":"47533","inReplyTo":"20180104040124.GA11626@sigill.intra.peff.net","subject":"Re: Bug report: git clone with dest","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2018-01-05T19:53:50Z","receivedAt":"2018-01-05T19:53:57Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff King <peff@peff.net> writes:\n\n> On Wed, Jan 03, 2018 at 02:42:51PM -0800, Isaac Shabtay wrote:\n>\n>> Indeed interesting... this one's for the books...\n>> Thanks for the patches. Any idea when these are going to make it to the\n>> official Git client builds? (specifically the Windows one)\n>\n> They haven't even been reviewed yet. If they get good feedback, then the\n> maintainer will pick them up, then merge them to 'next', and then\n> eventually to 'master', after which they'd become part of the next\n> major release. For a pure bug-fix, it may instead go to 'maint' and\n> become part of the next minor release.\n\nEven a pure bug-fix, unless it is something no longer needed on the\n'master' front, goes thru 'pu'->'next'->'master' avenue first, and\nis recorded in the RelNotes with the notes like \"(merge d45420c1c8\njk/abort-clone-with-existing-dest later to maint)\" when it happens.\n\n\tside note: in fact \"grep -e 'later to maint' RelNotes\" is\n\thow I remind myself what to merge down to 'maint'; the\n\tactual procedure is a bit more involved (those interested in\n\tthe details can find the 'ML' script on the 'todo' branch;\n\tits name stands for 'merge later')\n\nLater, after not hearing from people that the \"fix\" breaks things,\nthe topic is also mreged to 'maint' and becomes part of the next\nminor release.\n\n> Right now we're entering release freeze for v2.16.0. We'd still take\n> fixes for recent breakages there, but given the age of the problem I\n> doubt it will make the cutoff. But as this is a bug-fix, it might make\n> it into v2.16.1.\n\nYup.  From the usual timeline, I'd expect this to be part of\n'master' working towards 2.17 and to become a part of 2.16.x\nseries.\n\nThanks.\n"},{"id":"335950","messageId":"20180105195705.GA5217@sigill.intra.peff.net","threadId":"47533","inReplyTo":"xmqqfu7kcca9.fsf@gitster.mtv.corp.google.com","subject":"Re: Bug report: git clone with dest","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2018-01-05T19:57:05Z","receivedAt":"2018-01-05T19:57:11Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Fri, Jan 05, 2018 at 11:53:50AM -0800, Junio C Hamano wrote:\n\n> > They haven't even been reviewed yet. If they get good feedback, then the\n> > maintainer will pick them up, then merge them to 'next', and then\n> > eventually to 'master', after which they'd become part of the next\n> > major release. For a pure bug-fix, it may instead go to 'maint' and\n> > become part of the next minor release.\n> \n> Even a pure bug-fix, unless it is something no longer needed on the\n> 'master' front, goes thru 'pu'->'next'->'master' avenue first, and\n> is recorded in the RelNotes with the notes like \"(merge d45420c1c8\n> jk/abort-clone-with-existing-dest later to maint)\" when it happens.\n> \n> \tside note: in fact \"grep -e 'later to maint' RelNotes\" is\n> \thow I remind myself what to merge down to 'maint'; the\n> \tactual procedure is a bit more involved (those interested in\n> \tthe details can find the 'ML' script on the 'todo' branch;\n> \tits name stands for 'merge later')\n> \n> Later, after not hearing from people that the \"fix\" breaks things,\n> the topic is also mreged to 'maint' and becomes part of the next\n> minor release.\n\nOut of curiosity, did this change at some point? I thought the process\nused to be to merge to maint, and then pick up topics in master by\nmerging maint to master.\n\n-Peff\n"},{"id":"335965","messageId":"nycvar.QRO.7.76.6.1801052118410.1337@wbunaarf-fpuvaqryva.tvgsbejvaqbjf.bet","threadId":"47533","inReplyTo":"CAK2k7nSWoNX+Y5dhLqLVzhzE12f3MgZo0R8xrHYKFwxCL+9mEg@mail.gmail.com","subject":"Re: Bug report: git clone with dest","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2018-01-05T20:22:07Z","receivedAt":"2018-01-05T20:22:18Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Isaac,\n\nOn Fri, 5 Jan 2018, Isaac Shabtay wrote:\n\n> Done: https://github.com/git-for-windows/git/pull/1421\n> \n> I added credit to Jeff in the PR's description.\n\nSadly, the PR's description won't make it into the commit history, and the\nauthorship really should have been retained.\n\nI found Peff's topic branch in his fork and force-pushed, to demonstrate\nwhat I wanted to have. Currently the test suite is running (I test 64-bit\nbuilds of the three major platforms Windows, macOS and Linux), and once\nthat is done and passed, I will merge the Pull Request.\n\n> Note that I tried compiling master, but failed due to a reason\n> unrelated to this patch:\n> \n> builtin/checkout.c:24:10: fatal error: fscache.h: No such file or directory\n\nThat was an oversight in a previously-merged Pull Request. I have fixed\nthat locally and will soon push it out onto `master`.\n\nCiao,\nJohannes\n"},{"id":"336004","messageId":"xmqqr2r4avnu.fsf@gitster.mtv.corp.google.com","threadId":"47533","inReplyTo":"nycvar.QRO.7.76.6.1801052118410.1337@wbunaarf-fpuvaqryva.tvgsbejvaqbjf.bet","subject":"Re: Bug report: git clone with dest","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2018-01-05T20:38:13Z","receivedAt":"2018-01-05T20:38:20Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n\n> Hi Isaac,\n>\n> On Fri, 5 Jan 2018, Isaac Shabtay wrote:\n>\n>> Done: https://github.com/git-for-windows/git/pull/1421\n>> \n>> I added credit to Jeff in the PR's description.\n>\n> Sadly, the PR's description won't make it into the commit history, and the\n> authorship really should have been retained.\n>\n> I found Peff's topic branch in his fork and force-pushed, to demonstrate\n> what I wanted to have. Currently the test suite is running (I test 64-bit\n> builds of the three major platforms Windows, macOS and Linux), and once\n> that is done and passed, I will merge the Pull Request.\n>\n>> Note that I tried compiling master, but failed due to a reason\n>> unrelated to this patch:\n>> \n>> builtin/checkout.c:24:10: fatal error: fscache.h: No such file or directory\n>\n> That was an oversight in a previously-merged Pull Request. I have fixed\n> that locally and will soon push it out onto `master`.\n>\n> Ciao,\n> Johannes\n\nFWIW, I do not mind including this as part of -rc2 if not -rc1 for\nthe upcoming release.\n"},{"id":"336005","messageId":"20180105204427.GA6515@sigill.intra.peff.net","threadId":"47533","inReplyTo":"nycvar.QRO.7.76.6.1801052118410.1337@wbunaarf-fpuvaqryva.tvgsbejvaqbjf.bet","subject":"Re: Bug report: git clone with dest","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2018-01-05T20:44:28Z","receivedAt":"2018-01-05T20:44:37Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Fri, Jan 05, 2018 at 09:22:07PM +0100, Johannes Schindelin wrote:\n\n> On Fri, 5 Jan 2018, Isaac Shabtay wrote:\n> \n> > Done: https://github.com/git-for-windows/git/pull/1421\n> > \n> > I added credit to Jeff in the PR's description.\n> \n> Sadly, the PR's description won't make it into the commit history, and the\n> authorship really should have been retained.\n> \n> I found Peff's topic branch in his fork and force-pushed, to demonstrate\n> what I wanted to have. Currently the test suite is running (I test 64-bit\n> builds of the three major platforms Windows, macOS and Linux), and once\n> that is done and passed, I will merge the Pull Request.\n\nI think the discussion has ended at \"don't do anything else\", but note\nthat Junio and I were musing on whether to update the series around the\ndir_exists() function. Which would then create headaches for you later\nwhen you try to merge a subtly-different series that makes it upstream.\n\nLike I said, I think we've resolved not to do anything, but I wanted to\npoint out a potential pitfall with this kind of \"pick up a topic early\"\nstrategy (I'm intimately familiar with this pitfall because I do it all\nthe time for the fork we run on our servers at GitHub).\n\n-Peff\n"},{"id":"336006","messageId":"xmqqmv1savcg.fsf@gitster.mtv.corp.google.com","threadId":"47533","inReplyTo":"20180105195705.GA5217@sigill.intra.peff.net","subject":"Re: Bug report: git clone with dest","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2018-01-05T20:45:03Z","receivedAt":"2018-01-05T20:45:14Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff King <peff@peff.net> writes:\n\n> Out of curiosity, did this change at some point? I thought the process\n> used to be to merge to maint, and then pick up topics in master by\n> merging maint to master.\n\nIf you look at \"Sync with maint\" merges made to 'master', you'd\nnotice that most of them are only updating Documentation/RelNotes/*\nand otherwise no-effect merges, simply because when such an up-merge\nis made, everything in 'maint' is already in 'master' because topics\nare merged to the latter first.  Security fixes that go through\nembargoes are excempt for obvious reasons ;-)\n\nI do not recall how it was before 2012.\n\n"},{"id":"336008","messageId":"20180105205227.GA6958@sigill.intra.peff.net","threadId":"47533","inReplyTo":"xmqqmv1savcg.fsf@gitster.mtv.corp.google.com","subject":"Re: Bug report: git clone with dest","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2018-01-05T20:52:27Z","receivedAt":"2018-01-05T20:52:34Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Fri, Jan 05, 2018 at 12:45:03PM -0800, Junio C Hamano wrote:\n\n> Jeff King <peff@peff.net> writes:\n> \n> > Out of curiosity, did this change at some point? I thought the process\n> > used to be to merge to maint, and then pick up topics in master by\n> > merging maint to master.\n> \n> If you look at \"Sync with maint\" merges made to 'master', you'd\n> notice that most of them are only updating Documentation/RelNotes/*\n> and otherwise no-effect merges, simply because when such an up-merge\n> is made, everything in 'maint' is already in 'master' because topics\n> are merged to the latter first.  Security fixes that go through\n> embargoes are excempt for obvious reasons ;-)\n\nOK, that makes sense. Pretty sure I did it wrong when I was interim\nmaintainer back in the day, then. :)\n\n-Peff\n"},{"id":"336010","messageId":"nycvar.QRO.7.76.6.1801052201050.1337@wbunaarf-fpuvaqryva.tvgsbejvaqbjf.bet","threadId":"47533","inReplyTo":"xmqqfu7kcca9.fsf@gitster.mtv.corp.google.com","subject":"Re: Bug report: git clone with dest","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2018-01-05T21:06:16Z","receivedAt":"2018-01-05T21:06:32Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\n\nOn Fri, 5 Jan 2018, Junio C Hamano wrote:\n\n> Jeff King <peff@peff.net> writes:\n> \n> > On Wed, Jan 03, 2018 at 02:42:51PM -0800, Isaac Shabtay wrote:\n> >\n> >> Indeed interesting... this one's for the books...\n> >> Thanks for the patches. Any idea when these are going to make it to the\n> >> official Git client builds? (specifically the Windows one)\n> >\n> > They haven't even been reviewed yet.\n\nFWIW I went through them in that PR that Isaac opened (and which I updated\nwith Peff's patches, rebased), and I found nothing obviously wrong with\nthem. They seem to be straight-forward enough.\n\nJust s/m(y temporarily removing its objects)/b\\1/ and s/(call stat\ndirectly)( the same scratch)/\\1 using\\2/\n\nCiao,\nDscho\n"},{"id":"336018","messageId":"nycvar.QRO.7.76.6.1801052228270.1337@wbunaarf-fpuvaqryva.tvgsbejvaqbjf.bet","threadId":"47533","inReplyTo":"20180105204427.GA6515@sigill.intra.peff.net","subject":"Re: Bug report: git clone with dest","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2018-01-05T21:39:10Z","receivedAt":"2018-01-05T21:39:22Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Peff,\n\nOn Fri, 5 Jan 2018, Jeff King wrote:\n\n> On Fri, Jan 05, 2018 at 09:22:07PM +0100, Johannes Schindelin wrote:\n> \n> > On Fri, 5 Jan 2018, Isaac Shabtay wrote:\n> > \n> > > Done: https://github.com/git-for-windows/git/pull/1421\n> > > \n> > > I added credit to Jeff in the PR's description.\n> > \n> > Sadly, the PR's description won't make it into the commit history, and the\n> > authorship really should have been retained.\n> > \n> > I found Peff's topic branch in his fork and force-pushed, to demonstrate\n> > what I wanted to have. Currently the test suite is running (I test 64-bit\n> > builds of the three major platforms Windows, macOS and Linux), and once\n> > that is done and passed, I will merge the Pull Request.\n> \n> I think the discussion has ended at \"don't do anything else\", but note\n> that Junio and I were musing on whether to update the series around the\n> dir_exists() function.\n\nI briefly looked over this discussion and got the same impression.\n\n> Which would then create headaches for you later when you try to merge a\n> subtly-different series that makes it upstream.\n\nSubtly-different is not a big problem. It is typically solved by `git\nrebase --skip` ;-)\n\n> Like I said, I think we've resolved not to do anything, but I wanted to\n> point out a potential pitfall with this kind of \"pick up a topic early\"\n> strategy (I'm intimately familiar with this pitfall because I do it all\n> the time for the fork we run on our servers at GitHub).\n\nThanks for your concern.\n\nAnd not to worry, I have plenty of expertise, won over the years, in\ndealing with subtly different variants of patches having been accepted\nupstream and conflicting with patches that were carried in Git for\nWindows.\n\nCiao,\nDscho\n"},{"id":"336025","messageId":"xmqq4lo0aq56.fsf@gitster.mtv.corp.google.com","threadId":"47533","inReplyTo":"20180105205227.GA6958@sigill.intra.peff.net","subject":"Re: Bug report: git clone with dest","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2018-01-05T22:37:25Z","receivedAt":"2018-01-05T22:37:32Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff King <peff@peff.net> writes:\n\n> On Fri, Jan 05, 2018 at 12:45:03PM -0800, Junio C Hamano wrote:\n>\n>> Jeff King <peff@peff.net> writes:\n>> \n>> > Out of curiosity, did this change at some point? I thought the process\n>> > used to be to merge to maint, and then pick up topics in master by\n>> > merging maint to master.\n>> \n>> If you look at \"Sync with maint\" merges made to 'master', you'd\n>> notice that most of them are only updating Documentation/RelNotes/*\n>> and otherwise no-effect merges, simply because when such an up-merge\n>> is made, everything in 'maint' is already in 'master' because topics\n>> are merged to the latter first.  Security fixes that go through\n>> embargoes are excempt for obvious reasons ;-)\n>\n> OK, that makes sense. Pretty sure I did it wrong when I was interim\n> maintainer back in the day, then. :)\n\nWell, MaintNotes on the 'todo' branch needs a bit of updating, as it\nsays something somewhat misleading.\n\n-- >8 --\nSubject: MaintNotes: clarify the purpose of maint->master upmerge\n\nEven though the paragraph before this one is pretty clear that\ntopics are first merged to 'master' and then to 'maint', it was\nmisleading to say 'maint' is merged to 'master' to propagate fixes\nforward, as most of the time, such an upmerge is a noop because\ntopics merged to 'maint' are usually merged to 'master' already.\n\nThese up-merges are done primarily to make sure that the tip of\n'master' has updated release notes from all the maintenance tracks,\nso be explicit about that to avoid confusion.\n\nSigned-off-by: Junio C Hamano <gitster@pobox.com>\n---\n MaintNotes | 4 ++--\n 1 file changed, 2 insertions(+), 2 deletions(-)\n\ndiff --git a/MaintNotes b/MaintNotes\nindex 3a70b88..393d81f 100644\n--- a/MaintNotes\n+++ b/MaintNotes\n@@ -173,8 +173,8 @@ feature release).  These days, maintenance releases are named by\n incrementing the last digit of three-dotted decimal name (e.g. \"2.12.1\"\n was the first maintenance release for the \"2.12\" series).\n \n-New features never go to the 'maint' branch.  This branch is also\n-merged into \"master\" to propagate the fixes forward as needed.\n+New features never go to the 'maint' branch.  It is merged into \"master\"\n+primarily to propagate the description in the release notes forward.\n \n A new development does not usually happen on \"master\". When you send a\n series of patches, after review on the mailing list, a separate topic\n"},{"id":"336044","messageId":"20180106044342.GA9948@sigill.intra.peff.net","threadId":"47533","inReplyTo":"xmqq4lo0aq56.fsf@gitster.mtv.corp.google.com","subject":"Re: Bug report: git clone with dest","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2018-01-06T04:43:42Z","receivedAt":"2018-01-06T04:43:49Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Fri, Jan 05, 2018 at 02:37:25PM -0800, Junio C Hamano wrote:\n\n> Well, MaintNotes on the 'todo' branch needs a bit of updating, as it\n> says something somewhat misleading.\n> \n> -- >8 --\n> Subject: MaintNotes: clarify the purpose of maint->master upmerge\n\nYup, this makes sense. Thanks for clarifying.\n\n-Peff\n"}]}