Skip to content

Continuous popup if email/name is not set in Commit form #11368

@gerhardol

Description

@gerhardol

Environment

  • Git Extensions 4.2.0.17539
  • Build d3b383c
  • Git 2.42.0.windows.2
  • Microsoft Windows NT 10.0.19045.0
  • .NET 6.0.25
  • DPI 96dpi (no scaling)
  • Portable: False

Issue description

Follow up to #11366 etc
If email or name is not set when opening GE, you should get a notification in settings. This will not occur if the email/name is set for the repo first opened but not a later repo.

This info is just for info in bottom left and is on activation of the form.
The info was changed in #10843 to show git-log info (not at all or GE config before). Should be included in 4.1.

image

The popup is a normal NBug. As the git-log command is on activation of the form, the popup appears immediately if you Ignore it.
You have to exit the application in NBug (which may be hidden) or task manager.
There are reports that this is a GE error, all NBug are seen as GE issues for some users, all text is not read properly.

  • git-log should only get email/name on opening the form, not on activation. The status is only expected to be changed when FormCommit is closed.
  • The NBug popup should be replaced with a special popup or rather hide the issue (no email/name is often shown when starting GE and definitely when actually committing so an extra popup is not needed in my opinion).

Exit code: 1
Command: wsl
Arguments: -d Ubuntu-22.04 git config --includes --get user.name
Working directory: \wsl$\Ubuntu-22.04\home\ejgo\gc\GitExtensionsDoc\

GitExtUtils.ExternalOperationException: External program returned non-zero exit code.
 ---> System.Exception: External program returned non-zero exit code.
   --- End of inner exception stack trace ---
   at async Task<string> GitCommands.ExecutableExtensions.GetOutputAsync(IExecutable executable, ArgumentString arguments, byte[] input, Encoding outputEncoding, CommandCache cache, bool stripAnsiEscapeCodes) in C:/projects/gitextensions/GitCommands/Git/ExecutableExtensions.cs:line 129
   at void Microsoft.VisualStudio.Threading.JoinableTask.CompleteOnCurrentThread()
   at T Microsoft.VisualStudio.Threading.JoinableTask<T>.CompleteOnCurrentThread()
   at T Microsoft.VisualStudio.Threading.JoinableTaskFactory.Run<T>(Func<Task<T>> asyncMethod, JoinableTaskCreationOptions creationOptions) x 2
   at string GitCommands.ExecutableExtensions.GetOutput(IExecutable executable, ArgumentString arguments, byte[] input, Encoding outputEncoding, CommandCache cache, bool stripAnsiEscapeCodes) in C:/projects/gitextensions/GitCommands/Git/ExecutableExtensions.cs:line 43
   at string GitCommands.GitModule.GetEffectiveGitSetting(string setting, bool cache) in C:/projects/gitextensions/GitCommands/Git/GitModule.cs:line 2420
   at async void GitUI.CommandsDialogs.FormCommit.UpdateAuthorInfo()+(?) => { } in C:/projects/gitextensions/GitUI/CommandsDialogs/FormCommit.cs:line 2725
   at async Task GitUI.TaskManager.HandleExceptionsAsync(Func<Task> asyncAction, Func<Exception, Task> handleExceptionAsync) in C:/projects/gitextensions/GitExtUtils/GitUI/TaskManager.cs:line 38

Steps to reproduce

  • Remove user.email and user.name fro global .gitconfig, not in repo config
  • Open Commit
  • Dismiss the popup

Did this work in previous version of GitExtensions?

"git-log" added to 4.1 (?)

Diagnostics

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions