git-for-windows/git-sdk-64

update-via-pacman ends with a `conflicting files` for the `scalar.exe` files

PhilipOakley opened this issue · 2 comments

Not sure if this is the right repo to report the issue... Which has happened in two contexts in the last day or so.

Initially, when compiling (via sdk build git-and-installer) a PR to test it, I had this error. I renamed the files out of the way and re-tried - same error.

Now I tried the update-via-pacman.bat in a CMD window and got the same error. The results are below, with the boring bits trimmed.

I'm guessing that some update relating to scalar isn't quite synchronised yet and the conflict shouldn't happen. Just not sure where to look/start. Any clues?

C:\git-sdk-64>update-via-pacman.bat
Run Pacman
:: Synchronizing package databases...
 git-for-windows                                                              48.2 KiB  48.1 KiB/s 00:01 [#############################################################] 100%
 git-for-windows-mingw32                                                      17.2 KiB  21.4 KiB/s 00:01 [#############################################################] 100%
 mingw32                                                                    1721.8 KiB  1449 KiB/s 00:01 [#############################################################] 100%
 mingw64                                                                    1733.1 KiB  1617 KiB/s 00:01 [#############################################################] 100%
 ucrt64                                                                     1784.0 KiB   896 KiB/s 00:02 [#############################################################] 100%
 clang64                                                                    1724.3 KiB  1692 KiB/s 00:01 [#############################################################] 100%
 msys                                                                        403.1 KiB  2.43 MiB/s 00:00 [#############################################################] 100%
:: Starting core system upgrade...
 there is nothing to do
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...
warning: dependency cycle detected:
warning: mingw-w64-x86_64-libwebp will be installed before its mingw-w64-x86_64-libtiff dependency

Packages (140) [...]
..
...
Total Installed Size:  2678.92 MiB
Net Upgrade Size:        33.14 MiB

:: Proceed with installation? [Y/n]
(140/140) checking keys in keyring                                                                       [#############################################################] 100%
(140/140) checking package integrity                                                           [######################################################] 100%-
(140/140) loading package files                                                                [######################################################] 100%
(140/140) checking for file conflicts                                                          [######################################################] 100%
error: failed to commit transaction (conflicting files)
mingw-w64-x86_64-git: /mingw64/bin/scalar.exe exists in filesystem
mingw-w64-x86_64-git: /mingw64/libexec/git-core/scalar.exe exists in filesystem
Errors occurred, no packages were upgraded.
Pacman update failed
Press any key to continue . . .

The sdk build git-and-installer failures are below for comparison.

          ln -s "git-remote-http.exe" "$execdir/$p" 2>/dev/null || \
          cp "$execdir/git-remote-http.exe" "$execdir/$p" || exit; } \
done
make: Leaving directory '/usr/src/git'
:: Synchronizing package databases...
 git-for-windows        48.2 KiB  47.4 KiB/s 00:01 [#####################] 100%
 git-for-windows-...    17.2 KiB  20.3 KiB/s 00:01 [#####################] 100%
 mingw32              1721.5 KiB  1226 KiB/s 00:01 [#####################] 100%
phili@Philip-Win10 MINGW64 / (main)
$ sdk build  git-and-installer
make: Entering directory '/usr/src/git'
    BUILTIN all
make[1]: Entering directory '/usr/src/git/git-gui'
make[1]: Leaving directory '/usr/src/git/git-gui'
[.
.
.] 
mingw64              1733.0 KiB  2.07 MiB/s 00:01 [#####################] 100%
 ucrt64               1784.4 KiB  1849 KiB/s 00:01 [#####################] 100%
 clang64              1724.3 KiB  1332 KiB/s 00:01 [#####################] 100%
 msys                  403.0 KiB   270 KiB/s 00:01 [#####################] 100%
:: Starting core system upgrade...
 there is nothing to do
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...
warning: dependency cycle detected:
warning: mingw-w64-x86_64-libwebp will be installed before its mingw-w64-x86_64-libtiff dependency

Packages (139) autogen-5.18.16-4  binutils-2.39-1  curl-7.85.0-1  expat-2.4.9-1
               file-5.43-1  gdb-11.1-3  git-2.38.0-1  lemon-3.39.4-1
               less-608-1  libcurl-7.85.0-1  libexpat-2.4.9-1  libffi-3.4.3-1
               libgc-8.2.2-1  libgnutls-3.7.8-1  libgpgme-1.18.0-1
               libguile-3.0.8-2  libhogweed-3.8.1-1  libidn2-2.3.3-1
               libksba-1.6.2-1  liblz4-1.9.4-1  liblzma-5.2.7-1
[...]
               perl-TermReadKey-2.38-7  perl-XML-Parser-2.46-6
               perl-YAML-Syck-1.34-2  pinentry-1.2.1-1  python-3.10.6-1
               rsync-3.2.6-1  subversion-1.14.2-1  tig-2.5.7-1  tzcode-2022e-1
               xz-5.2.7-1  git-extra-1.1.600.cbd5e15-1

Total Download Size:    403.80 MiB
Total Installed Size:  2677.37 MiB
Net Upgrade Size:        33.16 MiB

:: Proceed with installation? [Y/n]
:: Retrieving packages...
 mingw-w64-i686-i...    21.8 MiB  3.56 MiB/s 00:06 [#####################] 100%
 mingw-w64-i686-p...    18.4 MiB  1207 KiB/s 00:16 [#####################] 100%
 mingw-w64-x86_64...    28.3 MiB  1739 KiB/s 00:17 [#####################] 100%
[...]
mingw-w64-i686-l...    45.0 KiB  78.9 KiB/s 00:01 [#####################] 100%
 mingw-w64-x86_64...    21.9 KiB   142 KiB/s 00:00 [#####################] 100%
 mingw-w64-x86_64...    27.9 KiB  92.8 KiB/s 00:00 [#####################] 100%
 perl-TermReadKey...    21.5 KiB  81.6 KiB/s 00:00 [#####################] 100%
 perl-Locale-Gett...    13.2 KiB  9.82 KiB/s 00:01 [#####################] 100%
 perl-Clone-0.45-...    11.6 KiB  9.43 KiB/s 00:01 [#####################] 100%
 mingw-w64-i686-l...    21.7 KiB  8.99 KiB/s 00:02 [#####################] 100%
 Total (139/139)       403.8 MiB  6.16 MiB/s 01:06 [#####################] 100%
(139/139) checking keys in keyring                 [#####################] 100%
(139/139) checking package integrity                                                                 [###########################################################] 100%
(139/139) loading package files                                                                      [###########################################################] 100%
(139/139) checking for file conflicts                                                                [###########################################################] 100%
error: failed to commit transaction (conflicting files)
mingw-w64-x86_64-git: /mingw64/bin/scalar.exe exists in filesystem
mingw-w64-x86_64-git: /mingw64/libexec/git-core/scalar.exe exists in filesystem
Errors occurred, no packages were upgraded.

phili@Philip-Win10 MINGW64 / (main)
$
remaned (via explorer) both to scalar0.exe

$ sdk build git-and-installer

--> same fail!

dscho commented

This is expected. If you install Git other than via Pacman, there is always an opportunity to put files in a place where Pacman does not expect them and refuses to overwrite them (under the premise that they had not previously been installed via Pacman, and that Pacman therefore is not at liberty to simply overwrite them).

I renamed the files out of the way and re-tried - same error.

That is strange because it always works for me. Try this at home:

$ rm /mingw64/bin/scalar.exe /mingw64/libexec/git-core/scalar.exe && pacman -Su

Try this at home:

$ rm /mingw64/bin/scalar.exe /mingw64/libexec/git-core/scalar.exe && pacman -Su

So that worked, and so did a follow up CMD C:\git-sdk-64>update-via-pacman.bat, so resolved, cause unknown 😉
Maybe the other bash window I probably had open (the regular MSYS one, not an SDK one) could have somehow interacted with those scalar.exe 's.