-
Notifications
You must be signed in to change notification settings - Fork 613
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
git update-git-for-windows: escape installer arguments #318
Conversation
Taking a step back, is this even a good user experience? Maybe we should drop the |
Oh, and please note that the "Signed-off-by:" line does not make sense unless you use your real name and a working email address: the idea is that you can be reached in case of questions (originally only legal ones, but I find it useful to be able to ping an author about a commit I find in the commit history that I have questions about). |
Hard to tell. Though maybe you can add this as option for
Ah, sorry. I don't use my real name on github (kind of old-school ;) ). Will providing working e-mail address be enough? |
There is one thing I forgot to mention. I wrote my findings to similar existing issue: Maybe you could have a look at that too? |
Right... What about the thing when you click on the notification (which should show up when you check the "check daily for updates" option)? it probably should just show the progress, too.
Why not simply dropping that line, then? We do not really require it in the
Could you elaborate?
If it is a lot easier, you could add it to the current PR. I am not certain about |
When installer is being executed MSYS2 subsystem tries to convert unix paths to Windows paths. It seems it applies to installer arguments as well (because they start with slash). Thus `/SILENT` is converted to `C:/Program Files/Git/SILENT` (or something alike). This effectively bypasses installer arguments. The solution is to escape slashes in installer arguments.
I'd say it should display the progress too.
Done.
Those weird paths in installer command line are result of not escaped installer arguments (thing that this PR is fixing).
Actually I'm not even sure the option will help. I don't have whole installer environment set up (at the moment) so I cannot test it for myself. |
I am working on that. See also git-for-windows/git#2395. |
That ticket has stalled, it seems, the reporter is unresponsive for over a year. Maybe we can use this here PR as an excuse to revive the effort? @rimrul what do you think, would it be okay for @ge0rdi to include a commit dropping Also, I think that it might be best to leave the Thoughts? |
I have no problem to do it once you guys will agree on that.
When I was testing it (removed
Yup, definitnely. I've just mentioned it to make you aware of the issue with upgrade done by non-admin user. But it is definitely not related to current PR. |
Thanks for the clarification, @ge0rdi ! Your reasoning about the license page makes a lot of sense. Could you include it in the commit removing |
Currently the installer is started with `/VERYSILENT` switch which causes no indication of installation to be displayed. This may be confusing to the user because he doesn't know if the installer is still in the progress or if it finished already. Use of the switch was introduced in e119d03 because of: > The command successfully identifies and downloads the update however when it > triggers the update it causes a license screen to display which requires > user interaction. Therefore the update can't be fully automated. Though it seems that running installer with just `/SILENT` doesn't require any user interaction. Only installation progress is displayed.
Done. |
The auto-updater [now shows the progress while installing](#318). Signed-off-by: Johannes Schindelin <[email protected]>
When installer is being executed MSYS2 subsystem tries to convert unix paths to Windows paths.
It seems it applies to installer arguments as well (because they start with slash).
Thus
/SILENT
is converted toC:/Program Files/Git/SILENT
(or something alike).This effectively bypasses installer arguments.
The solution is to escape slashes in installer arguments.
Signed-off-by: ge0rdi [email protected]
With this change git update works silently without any user interaction and any progress.
That second part (no progress displayed) is caused by
/VERYSILENT
option and imo it is not good. Because user doesn't even know if the installation started/ended.Personally I think
/VERYSILENT
should be removed. Without that option it seems to work well for me. There is still no user interaction (tried update from 2.28 to latest one) and there is at least installer window with progress shown.