cloud-storage: simplify creation of git authorship

While having the local user information in the repo on Linux seemed
clever when we implemented it, it's inconsistent with all the other
platforms. Let's just not do that unless the user has indeed set
a global name/email pair for git.

Instead indicate if this was Subsurface or Subsurface-mobile.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2020-04-09 17:03:43 -07:00
parent 67a717dc05
commit 7a238b6146
7 changed files with 7 additions and 65 deletions

View file

@ -1024,19 +1024,14 @@ static int get_authorship(git_repository *repo, git_signature **authorp)
{
if (git_signature_default(authorp, repo) == 0)
return 0;
/* 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;
#ifdef SUBSURFACE_MOBILE
#define APPNAME "Subsurface-mobile"
#else
#define APPNAME "Subsurface"
#endif
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)