diff options
Diffstat (limited to 'core/save-git.c')
-rw-r--r-- | core/save-git.c | 24 |
1 files changed, 9 insertions, 15 deletions
diff --git a/core/save-git.c b/core/save-git.c index a304e0d94..2d58f931a 100644 --- a/core/save-git.c +++ b/core/save-git.c @@ -25,6 +25,7 @@ #include "membuffer.h" #include "git-access.h" #include "version.h" +#include "picture.h" #include "qthelper.h" #include "gettext.h" #include "tag.h" @@ -1020,25 +1021,18 @@ int update_git_checkout(git_repository *repo, git_object *parent, git_tree *tree return git_checkout_tree(repo, (git_object *) tree, &opts); } -static int get_authorship(git_repository *repo, git_signature **authorp) +int get_authorship(git_repository *repo, git_signature **authorp) { -#if LIBGIT2_VER_MAJOR || LIBGIT2_VER_MINOR >= 20 if (git_signature_default(authorp, repo) == 0) return 0; + +#ifdef SUBSURFACE_MOBILE +#define APPNAME "Subsurface-mobile" +#else +#define APPNAME "Subsurface" #endif - /* try to fetch the user info from the OS, otherwise use default values. */ - struct user_info user = { .name = NULL, .email = NULL }; - subsurface_user_info(&user); - if (!user.name || !*user.name) - user.name = strdup("Subsurface"); - if (!user.email) - user.email = strdup("subsurface-app-account@subsurface-divelog.org"); - - /* git_signature_default() is too recent */ - int ret = git_signature_now(authorp, user.name, user.email); - free((void *)user.name); - free((void *)user.email); - return ret; + return git_signature_now(authorp, APPNAME, "subsurface-app-account@subsurface-divelog.org"); +#undef APPNAME } static void create_commit_message(struct membuffer *msg, bool create_empty) |