ProductUpgrader: be extra careful about a copy loop#1672
ProductUpgrader: be extra careful about a copy loop#1672derrickstolee merged 3 commits intomicrosoft:masterfrom
Conversation
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
|
The log message said this on the user's machine: So, not a case issue. I have no idea why this works for most users. However, this situation did fix the issue for the user with the problem! |
dscho
left a comment
There was a problem hiding this comment.
Caveat: I'm not an expert in this area, but from what I gather via the commit messages, the PR description and the diffs, this looks correct.
Because IT DOESN'T WORK. This means |
…opy loop The `ProductUpgrader` makes a backup of the `C:\Program Files\GVFS` folder before running the install, as a mechanism for backing out a failed upgrade. However, it copies that data into `C:\Program Files\GVFS\ProgramData\GVFS.Upgrade\Tools`, which can create a copy loop! This affected an actual user. I'm not sure why this affects that one user but not another. In addition to adding more defensive programming (adding the target of the copy to the list of exclusions), I also added some extra tracing so we can see how these strings differ on this machine. See #1672 for the master PR.
|
I'm going to add documentation into the |
…...- Checking for GVFS upgrades...\ Checking for GVFS upgrades...\ Checking for GVFS upgrades...| Checking for GVFS upgrades...| Checking for GVFS upgrades...Succeeded New version 1.0.19346.2 is available. Upgrade will unmount and remount gvfs repos, ensure you are at a stopping point. When ready, run `gvfs upgrade --confirm` from an elevated command prompt. bug Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Major Updates ----------------- * Comes with Git for Windows 2.28.0 * Previous builds were not including fully-signed DLLs. This is now fixed. Pull Requests --------------- * #1672: ProductUpgrader: be extra careful about a copy loop * #1674: Config: disable status.submoduleSummary * #1675: PreCommandHook: don't lock pack-objects * #1676: Update Git to v2.27.0.vfs.1.0 * #1679: BuildGVFSForWindows.bat: use nuget on PATH * #1683: GVFS.SignFiles.csproj: include more DLLs for signing * #1685: minor path comparison fixup in ProductUpgrader * #1682: Update Git to v2.28.0
The
ProductUpgradermakes a backup of theC:\Program Files\GVFSfolder before running the install, as a mechanism for backing out a failed upgrade. However, it copies that data intoC:\Program Files\GVFS\ProgramData\GVFS.Upgrade\Tools, which can create a copy loop! This affected an actual user.I'm not sure why this affects that one user but not another. In addition to adding more defensive programming (adding the target of the copy to the list of exclusions), I also added some extra tracing so we can see how these strings differ on this machine.