Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmily Shaffer <emilyshaffer@google.com>2020-04-17 00:18:05 +0300
committerJunio C Hamano <gitster@pobox.com>2020-04-17 01:23:42 +0300
commit617d57195ae844a43486b2e0ad0b7ac36aaddfdd (patch)
tree4e0a61c93d3fb555cdb5d7f01e0ea9826f1ced2b /bugreport.c
parent238b439d69890980dafc5154895d425cb4cf4a5e (diff)
bugreport: gather git version and build info
Knowing which version of Git a user has and how it was built allows us to more precisely pin down the circumstances when a certain issue occurs, so teach bugreport how to tell us the same output as 'git version --build-options'. It's not ideal to directly call 'git version --build-options' because that output goes to stdout. Instead, wrap the version string in a helper within help.[ch] library, and call that helper from within the bugreport library. Signed-off-by: Emily Shaffer <emilyshaffer@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'bugreport.c')
-rw-r--r--bugreport.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/bugreport.c b/bugreport.c
index f6f53a5e8e..4cdb58bbaa 100644
--- a/bugreport.c
+++ b/bugreport.c
@@ -1,8 +1,17 @@
-#include "builtin.h"
+#include "cache.h"
#include "parse-options.h"
#include "stdio.h"
#include "strbuf.h"
#include "time.h"
+#include "help.h"
+
+static void get_system_info(struct strbuf *sys_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);
+}
static const char * const bugreport_usage[] = {
N_("git bugreport [-o|--output-directory <file>] [-s|--suffix <format>]"),
@@ -32,6 +41,11 @@ static int get_bug_template(struct strbuf *template)
return 0;
}
+static void get_header(struct strbuf *buf, const char *title)
+{
+ strbuf_addf(buf, "\n\n[%s]\n", title);
+}
+
int cmd_main(int argc, const char **argv)
{
struct strbuf buffer = STRBUF_INIT;
@@ -79,6 +93,9 @@ int cmd_main(int argc, const char **argv)
/* Prepare the report contents */
get_bug_template(&buffer);
+ get_header(&buffer, _("System Info"));
+ get_system_info(&buffer);
+
/* fopen doesn't offer us an O_EXCL alternative, except with glibc. */
report = open(report_path.buf, O_CREAT | O_EXCL | O_WRONLY, 0666);