]> Kevux Git Server - rit/commitdiff
bugreport: add uname info
authorEmily Shaffer <emilyshaffer@google.com>
Thu, 16 Apr 2020 21:18:06 +0000 (14:18 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 16 Apr 2020 22:23:42 +0000 (15:23 -0700)
The contents of uname() can give us some insight into what sort of
system the user is running on, and help us replicate their setup if need
be. The domainname field is not guaranteed to be available, so don't
collect it.

Signed-off-by: Emily Shaffer <emilyshaffer@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-bugreport.txt
bugreport.c

index f44ae8c..17b0d14 100644 (file)
@@ -26,6 +26,7 @@ The following information is requested from the user:
 The following information is captured automatically:
 
  - 'git version --build-options'
+ - uname sysname, release, version, and machine strings
 
 This tool is invoked via the typical Git setup process, which means that in some
 cases, it might not be able to launch - for example, if a relevant config file
index 4cdb58b..1a3172b 100644 (file)
@@ -7,10 +7,24 @@
 
 static void get_system_info(struct strbuf *sys_info)
 {
+       struct utsname uname_info;
+
        /* get git version from native cmd */
        strbuf_addstr(sys_info, _("git version:\n"));
        get_version_info(sys_info, 1);
-       strbuf_complete_line(sys_info);
+
+       /* system call for other version info */
+       strbuf_addstr(sys_info, "uname: ");
+       if (uname(&uname_info))
+               strbuf_addf(sys_info, _("uname() failed with error '%s' (%d)\n"),
+                           strerror(errno),
+                           errno);
+       else
+               strbuf_addf(sys_info, "%s %s %s %s\n",
+                           uname_info.sysname,
+                           uname_info.release,
+                           uname_info.version,
+                           uname_info.machine);
 }
 
 static const char * const bugreport_usage[] = {