git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 0/3] Advertise OS version

From
Christian Couder <christian.couder@gmail.com>
Date
Jun 19, 2024, 12:57 UTC
Message-ID
<20240619125708.3719150-1-christian.couder@gmail.com>

For debugging and statistical purposes, it can be useful for Git servers to know the OS the client are using.

So let's add a new 'os-version' capability to the v2 protocol, in the same way as the existing 'agent' capability that lets clients and servers exchange the Git version they are running.

This sends the same info as `git bugreport` is already sending, which uses uname(2). It should be the same as what `uname -srvm` returns, except that it is sanitized in the same way as the Git version sent by the 'agent' capability is sanitized (by replacing character having an ascii code less than 32 or more than 127 with '.').

CI tests are currently failing on Windows as it looks like uname(1) and uname(2) don't report the same thing:

  -os-version=MINGW64_NT-10.0-20348.3.4.10-87d57229.x86_64.2024-02-14.20:17.UTC.x86_64
  +os-version=Windows.10.0.20348
(See: https://github.com/chriscool/git/actions/runs/9581822699)
Thoughts?
Christian Couder (3):
  version: refactor strbuf_sanitize()
  version: refactor get_uname_info()
  connect: advertise OS version
 Documentation/gitprotocol-v2.txt | 18 +++++++++
 builtin/bugreport.c              | 13 +------
 connect.c                        |  3 ++
 serve.c                          | 12 ++++++
 t/t5555-http-smart-common.sh     |  3 ++
 t/t5701-git-serve.sh             |  3 ++
 version.c                        | 67 ++++++++++++++++++++++++++++----
 version.h                        | 10 +++++
 8 files changed, 111 insertions(+), 18 deletions(-)
-- 
2.45.2.563.g6aa460b3cb
Next: Christian Couder
Message 1 of 22 in “Advertise OS version”
  1. 0/3 Advertise OS versionChristian Couder, Jun 19, 2024
  2. 1/3 version: refactor strbuf_sanitize()Christian Couder, Jun 19, 2024
  3. Eric SunshineJun 19, 2024
  4. 2/3 version: refactor get_uname_info()Christian Couder, Jun 19, 2024
  5. 3/3 connect: advertise OS versionChristian Couder, Jun 19, 2024
  6. Dragan SimicJun 19, 2024
  7. Jeff KingJun 19, 2024
  8. Dragan SimicJun 19, 2024
  9. Christian CouderJun 19, 2024
  10. Dragan SimicJun 19, 2024
  11. rsbecker@nexbridge.comJun 19, 2024
  12. Jeff KingJun 19, 2024
  13. rsbecker@nexbridge.comJun 19, 2024
  14. Dragan SimicJun 19, 2024
  15. Jeff KingJun 19, 2024
  16. rsbecker@nexbridge.comJun 19, 2024
  17. brian m. carlsonJun 19, 2024
  18. Jeff KingJun 20, 2024
  19. Junio C HamanoJun 20, 2024
  20. Usman AkinyemiDec 9, 2024
  21. rsbecker@nexbridge.comDec 9, 2024
  22. Usman AkinyemiDec 10, 2024

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.