{"thread":{"id":"51188","subject":"[PATCH] compat/vcbuild/README: clean/update 'vcpkg' env for Visual Studio updates","startedAt":"2019-05-28T12:08:58Z","lastAt":"2019-05-28T18:07:14Z","messageCount":5,"participants":["Philip Oakley","Jeff Hostetler","Johannes Schindelin"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"376293","messageId":"20190528120846.1056-1-philipoakley@iee.org","threadId":"51188","inReplyTo":null,"subject":"[PATCH] compat/vcbuild/README: clean/update 'vcpkg' env for Visual Studio updates","fromName":"Philip Oakley","fromEmail":"philipoakley@iee.org","sentAt":"2019-05-28T12:08:46Z","receivedAt":"2019-05-28T12:08:58Z","isPatch":true,"sender":{"key":"philipoakley@iee.email","avatar":"https://avatars.githubusercontent.com/u/914343?v=4"},"body":"When the user installs an updated version of Visual Studio, the previously\ngenerated MSVC-DEFS-GEN will need to be deleted to allow updating.\n\nAlternatively the whole vcpkg download may be cleaned allowing it to be\nreloaded, though this may take much longer on slower connections.\n\nSigned-off-by: Philip Oakley <philipoakley@iee.org>\n---\n\nIn response to discussions at:\nhttps://github.com/git-for-windows/git/issues/2186\n\ncc: Jeff Hostetler <git@jeffhostetler.com>\ncc: Johannes Schindelin <Johannes.Schindelin@gmx.de>\n\n compat/vcbuild/README | 7 +++++++\n 1 file changed, 7 insertions(+)\n\ndiff --git a/compat/vcbuild/README b/compat/vcbuild/README\nindex 81da36a93b..40695fc1cc 100644\n--- a/compat/vcbuild/README\n+++ b/compat/vcbuild/README\n@@ -18,6 +18,13 @@ The Steps to Build Git with VS2015 or VS2017 from the command line.\n    Makefile:\n       <repo_root>/compat/vcbuild/MSVC-DEFS-GEN\n \n+   - If you update your Visual Studio version, then delete the MSVC-DEFS-GEN\n+   file so that fresh environment variables can be discovered.\n+\n+   Or clean the \"vcpkg\" environment with:\n+\n+   $ make MSVC=1 clean\n+\n 2. OPTIONALLY copy the third-party *.dll and *.pdb files into the repo\n    root to make it easier to run and debug git.exe without having to\n    manipulate your PATH.  This is especially true for debug sessions in\n-- \n2.22.0.rc1.windows.1\n\n"},{"id":"376301","messageId":"a48d5f62-081a-de14-5dbb-4726908a4179@jeffhostetler.com","threadId":"51188","inReplyTo":"20190528120846.1056-1-philipoakley@iee.org","subject":"Re: [PATCH] compat/vcbuild/README: clean/update 'vcpkg' env for Visual Studio updates","fromName":"Jeff Hostetler","fromEmail":"git@jeffhostetler.com","sentAt":"2019-05-28T13:56:11Z","receivedAt":"2019-05-28T13:56:16Z","isPatch":true,"sender":{"key":"git@jeffhostetler.com","avatar":null},"body":"\n\nOn 5/28/2019 8:08 AM, Philip Oakley wrote:\n> When the user installs an updated version of Visual Studio, the previously\n> generated MSVC-DEFS-GEN will need to be deleted to allow updating.\n> \n> Alternatively the whole vcpkg download may be cleaned allowing it to be\n> reloaded, though this may take much longer on slower connections.\n> \n> Signed-off-by: Philip Oakley <philipoakley@iee.org>\n> ---\n> \n> In response to discussions at:\n> https://github.com/git-for-windows/git/issues/2186\n> \n> cc: Jeff Hostetler <git@jeffhostetler.com>\n> cc: Johannes Schindelin <Johannes.Schindelin@gmx.de>\n> \n>   compat/vcbuild/README | 7 +++++++\n>   1 file changed, 7 insertions(+)\n> \n> diff --git a/compat/vcbuild/README b/compat/vcbuild/README\n> index 81da36a93b..40695fc1cc 100644\n> --- a/compat/vcbuild/README\n> +++ b/compat/vcbuild/README\n> @@ -18,6 +18,13 @@ The Steps to Build Git with VS2015 or VS2017 from the command line.\n>      Makefile:\n>         <repo_root>/compat/vcbuild/MSVC-DEFS-GEN\n>   \n> +   - If you update your Visual Studio version, then delete the MSVC-DEFS-GEN\n> +   file so that fresh environment variables can be discovered.\n> +\n> +   Or clean the \"vcpkg\" environment with:\n> +\n> +   $ make MSVC=1 clean\n> +\n>   2. OPTIONALLY copy the third-party *.dll and *.pdb files into the repo\n>      root to make it easier to run and debug git.exe without having to\n>      manipulate your PATH.  This is especially true for debug sessions in\n> \n\nDid you mean to send this upstream or to Git for Windows?\n\nI didn't think that the VS2015/VS2017 vcpkg-aware version of\ncompat/vcbuild/* had made it upstream yet, so this patch might not\napply upstream.\n\n\nBTW, the Makefile (when MSVC=1 is defined) will take care of deleting\nthe MSVC-DEFS-GEN, so all we really need to say here is to do:\n\n     $ make MSVC=1 clean\nor  $ make MSVC=1 DEBUG=1 clean\n\nafter upgrading to a new version of VS.\n\nJeff\n\nPS. I have a TODO item to fix the Makefile to automatically detect\nand take care of this.\n"},{"id":"376304","messageId":"dbf74f4d-b63c-53f2-dbce-009da34d1050@iee.org","threadId":"51188","inReplyTo":"a48d5f62-081a-de14-5dbb-4726908a4179@jeffhostetler.com","subject":"Re: [PATCH] compat/vcbuild/README: clean/update 'vcpkg' env for Visual Studio updates","fromName":"Philip Oakley","fromEmail":"philipoakley@iee.org","sentAt":"2019-05-28T14:09:21Z","receivedAt":"2019-05-28T14:09:27Z","isPatch":true,"sender":{"key":"philipoakley@iee.email","avatar":"https://avatars.githubusercontent.com/u/914343?v=4"},"body":"Hi Jeff,\n\nOn 28/05/2019 14:56, Jeff Hostetler wrote:\n> On 5/28/2019 8:08 AM, Philip Oakley wrote:\n>> When the user installs an updated version of Visual Studio, the \n>> previously\n>> generated MSVC-DEFS-GEN will need to be deleted to allow updating.\n>>\n>> Alternatively the whole vcpkg download may be cleaned allowing it to be\n>> reloaded, though this may take much longer on slower connections.\n>>\n>> Signed-off-by: Philip Oakley <philipoakley@iee.org>\n>> ---\n>>\n>> In response to discussions at:\n>> https://github.com/git-for-windows/git/issues/2186\n>>\n>> cc: Jeff Hostetler <git@jeffhostetler.com>\n>> cc: Johannes Schindelin <Johannes.Schindelin@gmx.de>\n>>\n>>   compat/vcbuild/README | 7 +++++++\n>>   1 file changed, 7 insertions(+)\n>>\n>> diff --git a/compat/vcbuild/README b/compat/vcbuild/README\n>> index 81da36a93b..40695fc1cc 100644\n>> --- a/compat/vcbuild/README\n>> +++ b/compat/vcbuild/README\n>> @@ -18,6 +18,13 @@ The Steps to Build Git with VS2015 or VS2017 from \n>> the command line.\n>>      Makefile:\n>>         <repo_root>/compat/vcbuild/MSVC-DEFS-GEN\n>>   +   - If you update your Visual Studio version, then delete the \n>> MSVC-DEFS-GEN\n>> +   file so that fresh environment variables can be discovered.\n>> +\n>> +   Or clean the \"vcpkg\" environment with:\n>> +\n>> +   $ make MSVC=1 clean\n>> +\n>>   2. OPTIONALLY copy the third-party *.dll and *.pdb files into the repo\n>>      root to make it easier to run and debug git.exe without having to\n>>      manipulate your PATH.  This is especially true for debug \n>> sessions in\n>>\n>\n> Did you mean to send this upstream or to Git for Windows?\n>\n> I didn't think that the VS2015/VS2017 vcpkg-aware version of\n> compat/vcbuild/* had made it upstream yet, so this patch might not\n> apply upstream.\nAh, that would be my mistake.\n>\n>\n> BTW, the Makefile (when MSVC=1 is defined) will take care of deleting\n> the MSVC-DEFS-GEN, so all we really need to say here is to do:\n>\n>     $ make MSVC=1 clean\n> or  $ make MSVC=1 DEBUG=1 clean\n>\n> after upgrading to a new version of VS.\nIt (my suggestion) was the difference between a deep clean of all the \n1.05GB of vcpkg files, vs  the 847 bytes of just the MSVC-DEFS-GEN file \nthat was a concern.\n\nThe need to repeat the download of 1GB just because of a VS version \nchange felt a bit excessive, hence the initial suggestion.\n>\n> Jeff\n>\n> PS. I have a TODO item to fix the Makefile to automatically detect\n> and take care of this.\nThanks.\nIIUC download of the vcpkg files are separate from the generation of the \nMSVC-DEFS-GEN file - or are their inter-linkages?\n--\nPhilip\n"},{"id":"376306","messageId":"14a81e3e-248a-1ccc-6492-822011c2f78f@jeffhostetler.com","threadId":"51188","inReplyTo":"dbf74f4d-b63c-53f2-dbce-009da34d1050@iee.org","subject":"Re: [PATCH] compat/vcbuild/README: clean/update 'vcpkg' env for Visual Studio updates","fromName":"Jeff Hostetler","fromEmail":"git@jeffhostetler.com","sentAt":"2019-05-28T14:32:43Z","receivedAt":"2019-05-28T14:32:46Z","isPatch":true,"sender":{"key":"git@jeffhostetler.com","avatar":null},"body":"\n\nOn 5/28/2019 10:09 AM, Philip Oakley wrote:\n> Hi Jeff,\n> \n> On 28/05/2019 14:56, Jeff Hostetler wrote:\n>> On 5/28/2019 8:08 AM, Philip Oakley wrote:\n>>> When the user installs an updated version of Visual Studio, the \n>>> previously\n>>> generated MSVC-DEFS-GEN will need to be deleted to allow updating.\n>>>\n>>> Alternatively the whole vcpkg download may be cleaned allowing it to be\n>>> reloaded, though this may take much longer on slower connections.\n>>>\n>>> Signed-off-by: Philip Oakley <philipoakley@iee.org>\n>>> ---\n>>>\n>>> In response to discussions at:\n>>> https://github.com/git-for-windows/git/issues/2186\n>>>\n>>> cc: Jeff Hostetler <git@jeffhostetler.com>\n>>> cc: Johannes Schindelin <Johannes.Schindelin@gmx.de>\n>>>\n>>>   compat/vcbuild/README | 7 +++++++\n>>>   1 file changed, 7 insertions(+)\n>>>\n>>> diff --git a/compat/vcbuild/README b/compat/vcbuild/README\n>>> index 81da36a93b..40695fc1cc 100644\n>>> --- a/compat/vcbuild/README\n>>> +++ b/compat/vcbuild/README\n>>> @@ -18,6 +18,13 @@ The Steps to Build Git with VS2015 or VS2017 from \n>>> the command line.\n>>>      Makefile:\n>>>         <repo_root>/compat/vcbuild/MSVC-DEFS-GEN\n>>>   +   - If you update your Visual Studio version, then delete the \n>>> MSVC-DEFS-GEN\n>>> +   file so that fresh environment variables can be discovered.\n>>> +\n>>> +   Or clean the \"vcpkg\" environment with:\n>>> +\n>>> +   $ make MSVC=1 clean\n>>> +\n>>>   2. OPTIONALLY copy the third-party *.dll and *.pdb files into the repo\n>>>      root to make it easier to run and debug git.exe without having to\n>>>      manipulate your PATH.  This is especially true for debug \n>>> sessions in\n>>>\n>>\n>> Did you mean to send this upstream or to Git for Windows?\n>>\n>> I didn't think that the VS2015/VS2017 vcpkg-aware version of\n>> compat/vcbuild/* had made it upstream yet, so this patch might not\n>> apply upstream.\n> Ah, that would be my mistake.\n>>\n>>\n>> BTW, the Makefile (when MSVC=1 is defined) will take care of deleting\n>> the MSVC-DEFS-GEN, so all we really need to say here is to do:\n>>\n>>     $ make MSVC=1 clean\n>> or  $ make MSVC=1 DEBUG=1 clean\n>>\n>> after upgrading to a new version of VS.\n> It (my suggestion) was the difference between a deep clean of all the \n> 1.05GB of vcpkg files, vs  the 847 bytes of just the MSVC-DEFS-GEN file \n> that was a concern.\n> \n> The need to repeat the download of 1GB just because of a VS version \n> change felt a bit excessive, hence the initial suggestion.\n\nRight, there is a separate compat/vcbuild/VCPKG-DEFS file that\ncontrols if the third-party libraries need to be downloaded and/or\ncompiled.  Make clean doesn't touch that.\n\nAnd yes, this area still needs a little polish.\n\n\n>>\n>> Jeff\n>>\n>> PS. I have a TODO item to fix the Makefile to automatically detect\n>> and take care of this.\n> Thanks.\n> IIUC download of the vcpkg files are separate from the generation of the \n> MSVC-DEFS-GEN file - or are their inter-linkages?\n> -- \n> Philip\n"},{"id":"376331","messageId":"nycvar.QRO.7.76.6.1905282004420.44@tvgsbejvaqbjf.bet","threadId":"51188","inReplyTo":"dbf74f4d-b63c-53f2-dbce-009da34d1050@iee.org","subject":"Re: [PATCH] compat/vcbuild/README: clean/update 'vcpkg' env for Visual Studio updates","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2019-05-28T18:06:42Z","receivedAt":"2019-05-28T18:07:14Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Philip,\n\nOn Tue, 28 May 2019, Philip Oakley wrote:\n\n> On 28/05/2019 14:56, Jeff Hostetler wrote:\n>\n> > Did you mean to send this upstream or to Git for Windows?\n> >\n> > I didn't think that the VS2015/VS2017 vcpkg-aware version of\n> > compat/vcbuild/* had made it upstream yet, so this patch might not\n> > apply upstream.\n>\n> Ah, that would be my mistake.\n\nAn understandable one, as I had originally planned on trying to get the\nMSVC/Visual Studio patches into git.git after the v2.21.0 release.\n\nHowever, I deemed the built-in `add -p` a bit more pressing, as it\ndirectly affects my workflow, and the MSVC patches already made it into\nGit for Windows (and are continuously tested by our Azure Pipeline).\n\nMy current plan is to \"upstream\" the MSVC patches directly after v2.22.0\nis out.\n\nCiao,\nDscho\n"}]}