Skip to content

git 2.44 writes to console inefficiently #5768

@Danstiv

Description

@Danstiv

Existing issues matching what you're seeing

  • I was not able to find an open or closed issue matching what I'm seeing

Git for Windows version

git version 2.44.0.rc0.windows.1
cpu: x86_64
built from commit: 5cff971ba4c5c91f881d277bfeb6a88fa8c17745
sizeof-long: 4
sizeof-size_t: 8
shell-path: /bin/sh
feature: fsmonitor--daemon

Windows version

Windows 11

Windows CPU architecture

x86_64 (64-bit)

Additional Windows version information

Microsoft Windows [Version 10.0.26100.4652]

Options set during installation

Extracted portable git

Other interesting things

No response

Terminal/shell

cmd in windows terminal

Commands that trigger the issue

git

Expected behaviour

git should output any information using big chunks, like in 2.43

Actual behaviour

Git starting from 2.44 outputs text character by character intermittently , Which is potentially not efficient , and worsens the experience of blind users who use Windows Terminal.
Here is the logs collected using wpr.
For 2.43

---
timestamp: 2025-07-21 11:44:00.975
level: 5
provider: Microsoft.Windows.Console.Host
event: API_WriteConsoleW
payload:
  OriginatingProcess: 30832
  OriginatingThread: 33488
  NumBytes: 0
  Buffer: "usage: git [-v | --version] ...rest of the help message...\n"
---
timestamp: 2025-07-21 11:44:00.975
level: 5
provider: Microsoft.Windows.Terminal.Connection
event: ReadFile
payload:
  buffer: "usage: git [-v | --version] ...rest of the help message...\r\n"
  session: 43d399c8-4600-435c-8512-41f78416f71d

And for 2.44:

timestamp: 2025-07-21 11:44:04.577
level: 5
provider: Microsoft.Windows.Console.Host
event: API_WriteConsoleA
payload:
  OriginatingProcess: 34704
  OriginatingThread: 35188
  NumBytes: 0
  Buffer: "u"
---
timestamp: 2025-07-21 11:44:04.577
level: 5
provider: Microsoft.Windows.Terminal.Connection
event: ReadFile
payload:
  buffer: "u"
  session: 20cd668f-83d9-4bee-8a04-8a39f364944f
---
timestamp: 2025-07-21 11:44:04.577
level: 5
provider: Microsoft.Windows.Console.Host
event: API_WriteConsoleA
payload:
  OriginatingProcess: 34704
  OriginatingThread: 35188
  NumBytes: 0
  Buffer: "sage: git [-v | --version] [-h | --help] [-C <path>] [-c <name>=<value>]\n           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]\n           [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]\n           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]\n           [--config-env=<name>=<envvar>] <command> [<args>]\n\n"
---
timestamp: 2025-07-21 11:44:04.577
level: 5
provider: Microsoft.Windows.Terminal.Connection
event: ReadFile
payload:
  buffer: "sage: git [-v | --version] [-h | --help] [-C <path>] [-c <name>=<value>]\r\n           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]\r\n           [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]\r\n           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]\r\n           [--config-env=<name>=<envvar>] <command> [<args>]\r\n\n"
  session: 20cd668f-83d9-4bee-8a04-8a39f364944f
---
timestamp: 2025-07-21 11:44:04.577
level: 5
provider: Microsoft.Windows.Console.Host
event: API_WriteConsoleA
payload:
  OriginatingProcess: 34704
  OriginatingThread: 35188
  NumBytes: 0
  Buffer: "These are common Git commands used in various situations:\n"
---
timestamp: 2025-07-21 11:44:04.577
level: 5
provider: Microsoft.Windows.Console.Host
event: API_WriteConsoleA
payload:
  OriginatingProcess: 34704
  OriginatingThread: 35188
  NumBytes: 0
  Buffer: "\n"
---
timestamp: 2025-07-21 11:44:04.577
level: 5
provider: Microsoft.Windows.Terminal.Connection
event: ReadFile
payload:
  buffer: "These are common Git commands used in various situations:\r\n"
  session: 20cd668f-83d9-4bee-8a04-8a39f364944f
---
timestamp: 2025-07-21 11:44:04.577
level: 5
provider: Microsoft.Windows.Terminal.Connection
event: ReadFile
payload:
  buffer: "\r\n"
  session: 20cd668f-83d9-4bee-8a04-8a39f364944f
---
timestamp: 2025-07-21 11:44:04.577
level: 5
provider: Microsoft.Windows.Console.Host
event: API_WriteConsoleA
payload:
  OriginatingProcess: 34704
  OriginatingThread: 35188
  NumBytes: 0
  Buffer: "start a working area (see also: git help tutorial)\n"
---
timestamp: 2025-07-21 11:44:04.577
level: 5
provider: Microsoft.Windows.Terminal.Connection
event: ReadFile
payload:
  buffer: "start a working area (see also: git help tutorial)\r\n"
  session: 20cd668f-83d9-4bee-8a04-8a39f364944f
---
timestamp: 2025-07-21 11:44:04.577
level: 5
provider: Microsoft.Windows.Console.Host
event: API_WriteConsoleA
payload:
  OriginatingProcess: 34704
  OriginatingThread: 35188
  NumBytes: 0
  Buffer: " "
...

See #18485 in windows terminal repo for details.

Repository

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