Skip to content

[NBug] repeatCount ('-1') must be a non-negative value. (Parameter... #12242

@JamesPick-EPS

Description

@JamesPick-EPS

Environment

  • Git Extensions 5.2.1.18061
  • Build 0d74cfd
  • Git 2.47.1.windows.2
  • Microsoft Windows NT 10.0.26100.0
  • .NET 8.0.13
  • DPI 96dpi (no scaling)
  • Portable: False

Issue description

System.ArgumentOutOfRangeException: repeatCount ('-1') must be a non-negative value. (Parameter 'repeatCount')
Actual value was -1.
   at void ArgumentOutOfRangeException.ThrowNegative<T>(T value, string paramName)
   at StringBuilder System.Text.StringBuilder.Append(char value, int repeatCount)
   at string GitUI.Blame.BlameControl.BuildAuthorLine(GitBlameLine line, StringBuilder authorLineBuilder, int lineLength, string dateTimeFormat, string filename, bool showAuthor, bool showAuthorDate, bool showOriginalFilePath, bool displayAuthorFirst) in C:/projects/gitextensions/src/app/GitUI/UserControls/BlameControl.cs:line 473
   at (string gutter, string body, List<GitBlameEntry> gitBlameDisplays) GitUI.Blame.BlameControl.BuildBlameContents(string filename, int avatarSize) in C:/projects/gitextensions/src/app/GitUI/UserControls/BlameControl.cs:line 424
   at void GitUI.Blame.BlameControl.ProcessBlame(string filename, GitRevision revision, IReadOnlyList<ObjectId> children, Control controlToMask, int lineNumber, CancellationToken cancellationToken) in C:/projects/gitextensions/src/app/GitUI/UserControls/BlameControl.cs:line 327
   at Task GitUI.Blame.BlameControl.LoadBlameAsync(GitRevision revision, IReadOnlyList<ObjectId> children, string fileName, IRevisionGridInfo revisionGridInfo, IRevisionGridUpdate revisionGridUpdate, Control controlToMask, Encoding encoding, int? initialLine, bool force, CancellationTokenSequence cancellationTokenSequence)+() => { } in C:/projects/gitextensions/src/app/GitUI/UserControls/BlameControl.cs:line 143
   at Task GitCommands.AsyncLoader.LoadAsync(Action loadContent, Action onLoaded)+(object _) => { } in C:/projects/gitextensions/src/app/GitCommands/AsyncLoader.cs:line 35
   at async Task GitCommands.AsyncLoader.LoadAsync<T>(Func<CancellationToken, T> loadContent, Action<T> onLoaded) in C:/projects/gitextensions/src/app/GitCommands/AsyncLoader.cs:line 109
   at async Task GitCommands.AsyncLoader.LoadAsync(Action<CancellationToken> loadContent, Action onLoaded) in C:/projects/gitextensions/src/app/GitCommands/AsyncLoader.cs:line 29
   at async Task GitUI.Blame.BlameControl.LoadBlameAsync(GitRevision revision, IReadOnlyList<ObjectId> children, string fileName, IRevisionGridInfo revisionGridInfo, IRevisionGridUpdate revisionGridUpdate, Control controlToMask, Encoding encoding, int? initialLine, bool force, CancellationTokenSequence cancellationTokenSequence) in C:/projects/gitextensions/src/app/GitUI/UserControls/BlameControl.cs:line 141
   at async void GitUI.TaskManager.InvokeAndForget(Control control, Func<Task> asyncAction, CancellationToken cancellationToken)+(?) => { } [1] in C:/projects/gitextensions/src/app/GitExtUtils/GitUI/TaskManager.cs:line 119
   at async Task GitUI.TaskManager.HandleExceptionsAsync(Func<Task> asyncAction, Func<Exception, Task> handleExceptionAsync) in C:/projects/gitextensions/src/app/GitExtUtils/GitUI/TaskManager.cs:line 32

Trying to view file history.
Opening the File Tree tab to view blame.

Steps to reproduce

Open the history for a file.
Select a commit in the history.
Try to open the File Tree tab to see blame - error occurs.

Did this work in previous version of GitExtensions?

Yes

Diagnostics

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions