From: Jeff Hostetler Date: Tue, 28 May 2019 14:32:43 GMT Subject: Re: [PATCH] compat/vcbuild/README: clean/update 'vcpkg' env for Visual Studio updates Message-ID: <14a81e3e-248a-1ccc-6492-822011c2f78f@jeffhostetler.com> In-Reply-To: On 5/28/2019 10:09 AM, Philip Oakley wrote: > Hi Jeff, > > On 28/05/2019 14:56, Jeff Hostetler wrote: >> On 5/28/2019 8:08 AM, Philip Oakley wrote: >>> When the user installs an updated version of Visual Studio, the >>> previously >>> generated MSVC-DEFS-GEN will need to be deleted to allow updating. >>> >>> Alternatively the whole vcpkg download may be cleaned allowing it to be >>> reloaded, though this may take much longer on slower connections. >>> >>> Signed-off-by: Philip Oakley >>> --- >>> >>> In response to discussions at: >>> https://github.com/git-for-windows/git/issues/2186 >>> >>> cc: Jeff Hostetler >>> cc: Johannes Schindelin >>> >>>   compat/vcbuild/README | 7 +++++++ >>>   1 file changed, 7 insertions(+) >>> >>> diff --git a/compat/vcbuild/README b/compat/vcbuild/README >>> index 81da36a93b..40695fc1cc 100644 >>> --- a/compat/vcbuild/README >>> +++ b/compat/vcbuild/README >>> @@ -18,6 +18,13 @@ The Steps to Build Git with VS2015 or VS2017 from >>> the command line. >>>      Makefile: >>>         /compat/vcbuild/MSVC-DEFS-GEN >>>   +   - If you update your Visual Studio version, then delete the >>> MSVC-DEFS-GEN >>> +   file so that fresh environment variables can be discovered. >>> + >>> +   Or clean the "vcpkg" environment with: >>> + >>> +   $ make MSVC=1 clean >>> + >>>   2. OPTIONALLY copy the third-party *.dll and *.pdb files into the repo >>>      root to make it easier to run and debug git.exe without having to >>>      manipulate your PATH.  This is especially true for debug >>> sessions in >>> >> >> Did you mean to send this upstream or to Git for Windows? >> >> I didn't think that the VS2015/VS2017 vcpkg-aware version of >> compat/vcbuild/* had made it upstream yet, so this patch might not >> apply upstream. > Ah, that would be my mistake. >> >> >> BTW, the Makefile (when MSVC=1 is defined) will take care of deleting >> the MSVC-DEFS-GEN, so all we really need to say here is to do: >> >>     $ make MSVC=1 clean >> or  $ make MSVC=1 DEBUG=1 clean >> >> after upgrading to a new version of VS. > It (my suggestion) was the difference between a deep clean of all the > 1.05GB of vcpkg files, vs  the 847 bytes of just the MSVC-DEFS-GEN file > that was a concern. > > The need to repeat the download of 1GB just because of a VS version > change felt a bit excessive, hence the initial suggestion. Right, there is a separate compat/vcbuild/VCPKG-DEFS file that controls if the third-party libraries need to be downloaded and/or compiled. Make clean doesn't touch that. And yes, this area still needs a little polish. >> >> Jeff >> >> PS. I have a TODO item to fix the Makefile to automatically detect >> and take care of this. > Thanks. > IIUC download of the vcpkg files are separate from the generation of the > MSVC-DEFS-GEN file - or are their inter-linkages? > -- > Philip