Clean up git storage update messages

Translate all of them, but also remove some redundant or possibly
misleading messages. These are now seen by users, not just developers
trying to debug the code.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2017-06-17 23:50:22 -07:00
parent 4866dd6f45
commit 2b01ab7d50
6 changed files with 31 additions and 39 deletions

View file

@ -52,18 +52,17 @@ bool CheckCloudConnection::checkServer()
mgr->deleteLater();
if (verbose > 1)
qWarning() << "Cloud storage: successfully checked connection to cloud server";
git_storage_update_progress("successfully checked cloud connection");
return true;
}
} else if (seconds < prefs.cloud_timeout) {
QString text = QString("waited %1 sec for cloud connetion").arg(seconds);
QString text = tr("Waiting for cloud connetion (%1 seconds passed)").arg(seconds);
git_storage_update_progress(qPrintable(text));
} else {
disconnect(reply, SIGNAL(finished()), &loop, SLOT(quit()));
reply->abort();
}
}
git_storage_update_progress("cloud connection failed");
git_storage_update_progress(qPrintable(tr("Cloud connection failed")));
prefs.git_local_only = true;
if (verbose)
qDebug() << "connection test to cloud server failed" <<

View file

@ -97,7 +97,7 @@ static int push_transfer_progress_cb(unsigned int current, unsigned int total, s
(void) payload;
char buf[80];
snprintf(buf, sizeof(buf), translate("gettextFromC", "Transfer to storage (%d/%d)"), current, total);
return git_storage_update_progress("push trasfer cb");
return git_storage_update_progress(buf);
}
char *get_local_dir(const char *remote, const char *branch)
@ -432,7 +432,7 @@ static int try_to_update(git_repository *repo, git_remote *origin, git_reference
if (verbose)
fprintf(stderr, "git storage: try to update\n");
git_storage_update_progress("try to update");
if (!git_reference_cmp(local, remote))
return 0;
@ -466,7 +466,7 @@ static int try_to_update(git_repository *repo, git_remote *origin, git_reference
}
/* Is the remote strictly newer? Use it */
if (git_oid_equal(&base, local_id)) {
git_storage_update_progress("fast forward to remote");
git_storage_update_progress(translate("gettextFromC", "Update local storage to match cloud storage"));
return reset_to_remote(repo, local, remote_id);
}
@ -474,7 +474,7 @@ static int try_to_update(git_repository *repo, git_remote *origin, git_reference
if (git_oid_equal(&base, remote_id)) {
if (verbose)
fprintf(stderr, "local is newer than remote, update remote\n");
git_storage_update_progress("git_update_remote, local was newer");
git_storage_update_progress(translate("gettextFromC", "Push local changes to cloud storage"));
return update_remote(repo, origin, local, remote, rt);
}
/* Merging a bare repository always needs user action */
@ -492,7 +492,7 @@ static int try_to_update(git_repository *repo, git_remote *origin, git_reference
return report_error("Local and remote do not match, local branch not HEAD - cannot update");
}
/* Ok, let's try to merge these */
git_storage_update_progress("try to merge");
git_storage_update_progress(translate("gettextFromC", "Try to merge local changes into cloud storage"));
ret = try_to_git_merge(repo, &local, remote, &base, local_id, remote_id);
if (ret == 0)
return update_remote(repo, origin, local, remote, rt);
@ -514,7 +514,6 @@ static int check_remote_status(git_repository *repo, git_remote *origin, const c
if (verbose)
fprintf(stderr, "git storage: check remote status\n");
git_storage_update_progress("git check remote status");
if (git_branch_lookup(&local_ref, repo, branch, GIT_BRANCH_LOCAL)) {
if (is_subsurface_cloud)
@ -535,7 +534,7 @@ static int check_remote_status(git_repository *repo, git_remote *origin, const c
else if (rt == RT_HTTPS)
opts.callbacks.credentials = credential_https_cb;
opts.callbacks.certificate_check = certificate_check_cb;
git_storage_update_progress("git remote push (no remote existed)");
git_storage_update_progress(translate("gettextFromC", "Store data into cloud storage"));
error = git_remote_push(origin, &refspec, &opts);
} else {
error = try_to_update(repo, origin, local_ref, remote_ref, remote, branch, rt);
@ -559,7 +558,7 @@ int sync_with_remote(git_repository *repo, const char *remote, const char *branc
}
if (verbose)
fprintf(stderr, "sync with remote %s[%s]\n", remote, branch);
git_storage_update_progress("sync with remote");
git_storage_update_progress(translate("gettextFromC", "Sync with cloud storage"));
git_repository_config(&conf, repo);
if (rt == RT_HTTPS && getProxyString(&proxy_string)) {
if (verbose)
@ -586,7 +585,7 @@ int sync_with_remote(git_repository *repo, const char *remote, const char *branc
if (rt == RT_HTTPS && !canReachCloudServer()) {
// this is not an error, just a warning message, so return 0
report_error("Cannot connect to cloud server, working with local copy");
git_storage_update_progress("can't reach cloud server, working with local copy");
git_storage_update_progress(translate("gettextFromC", "Can't reach cloud server, working with local data"));
return 0;
}
if (verbose)
@ -599,7 +598,7 @@ int sync_with_remote(git_repository *repo, const char *remote, const char *branc
else if (rt == RT_HTTPS)
opts.callbacks.credentials = credential_https_cb;
opts.callbacks.certificate_check = certificate_check_cb;
git_storage_update_progress("git fetch remote");
git_storage_update_progress(translate("gettextFromC", "Successful cloud connection, fetch remote"));
error = git_remote_fetch(origin, NULL, &opts, NULL);
// NOTE! A fetch error is not fatal, we just report it
if (error) {
@ -614,7 +613,7 @@ int sync_with_remote(git_repository *repo, const char *remote, const char *branc
error = check_remote_status(repo, origin, remote, branch, rt);
}
git_remote_free(origin);
git_storage_update_progress("done with sync with remote");
git_storage_update_progress(translate("gettextFromC", "Done syncing with cloud storage"));
return error;
}
@ -634,10 +633,9 @@ static git_repository *update_local_repo(const char *localdir, const char *remot
report_error("Unable to open git cache repository at %s: %s", localdir, giterr_last()->message);
return NULL;
}
if (!prefs.git_local_only) {
git_storage_update_progress("update remote repo");
if (!prefs.git_local_only)
sync_with_remote(repo, remote, branch, rt);
}
return repo;
}
@ -773,7 +771,7 @@ static struct git_repository *get_remote_repo(const char *localdir, const char *
if (verbose > 1) {
fprintf(stderr, "git_remote_repo: accessing %s\n", remote);
}
git_storage_update_progress("start git interaction");
git_storage_update_progress(translate("gettextFromC", "Synchronising data file"));
/* Do we already have a local cache? */
if (!subsurface_stat(localdir, &st)) {
if (!S_ISDIR(st.st_mode)) {

View file

@ -30,8 +30,6 @@ int git_storage_update_progress(const char *text);
char *get_local_dir(const char *remote, const char *branch);
int git_create_local_repo(const char *filename);
extern int last_git_storage_update_val;
#ifdef __cplusplus
}
#endif

View file

@ -1675,19 +1675,19 @@ static int do_git_load(git_repository *repo, const char *branch)
git_commit *commit;
git_tree *tree;
git_storage_update_progress("do_git_load, find the commit");
ret = find_commit(repo, branch, &commit);
if (ret)
return ret;
git_storage_update_progress("git commit tree");
if (git_commit_tree(&tree, commit))
return report_error("Could not look up tree of commit in branch '%s'", branch);
git_storage_update_progress("load dives from tree");
git_storage_update_progress(translate("gettextFromC", "Load dives from local cache"));
ret = load_dives_from_tree(repo, tree);
if (!ret)
if (!ret) {
set_git_id(git_commit_id(commit));
git_storage_update_progress(translate("gettextFromC", "Successfully opened dive data"));
}
git_object_free((git_object *)tree);
git_storage_update_progress("done do_git_load");
return ret;
}

View file

@ -23,6 +23,7 @@
#include "git-access.h"
#include "version.h"
#include "qthelperfromc.h"
#include "gettext.h"
#define VA_BUF(b, fmt) do { va_list args; va_start(args, fmt); put_vformat(b, fmt, args); va_end(args); } while (0)
@ -936,7 +937,7 @@ static int create_git_tree(git_repository *repo, struct dir *root, bool select_o
struct dive *dive;
dive_trip_t *trip;
git_storage_update_progress("start create git tree");
git_storage_update_progress(translate("gettextFromC", "Start saving data"));
save_settings(repo, root);
save_divesites(repo, root);
@ -945,7 +946,7 @@ static int create_git_tree(git_repository *repo, struct dir *root, bool select_o
trip->index = 0;
/* save the dives */
git_storage_update_progress("start saving dives");
git_storage_update_progress(translate("gettextFromC", "Start saving dives"));
for_each_dive(i, dive) {
struct tm tm;
struct dir *tree;
@ -978,7 +979,7 @@ static int create_git_tree(git_repository *repo, struct dir *root, bool select_o
save_one_dive(repo, tree, dive, &tm, cached_ok);
}
git_storage_update_progress("done creating git tree");
git_storage_update_progress(translate("gettextFromC", "Done creating local cache"));
return 0;
}
@ -1209,7 +1210,7 @@ int do_git_save(git_repository *repo, const char *branch, const char *remote, bo
fprintf(stderr, "git storage: do git save\n");
if (!create_empty) // so we are actually saving the dives
git_storage_update_progress("start git save");
git_storage_update_progress(translate("gettextFromC", "Preparing to save data"));
/*
* Check if we can do the cached writes - we need to

View file

@ -44,7 +44,7 @@ static void appendTextToLogStandalone(const char *text)
extern "C" int gitProgressCB(const char *text)
{
static QElapsedTimer timer;
static qint64 lastTime;
static qint64 lastTime = 0;
static QMLManager *self;
if (!self)
@ -58,8 +58,9 @@ extern "C" int gitProgressCB(const char *text)
qint64 elapsed = timer.elapsed();
self->appendTextToLog(text);
self->setNotificationText(text);
if (elapsed - lastTime > 500)
qApp->processEvents();
if (elapsed - lastTime > 50) { // 20 Hz refresh
qApp->processEvents(QEventLoop::ExcludeUserInputEvents);
}
lastTime = elapsed;
}
// return 0 so that we don't end the download
@ -419,8 +420,7 @@ void QMLManager::retrieveUserid()
s.sync();
}
setCredentialStatus(VALID);
setStartPageText("Cloud credentials valid, loading dives...");
git_storage_update_progress("load dives with valid credentials");
setStartPageText(tr("Cloud credentials valid, loading dives..."));
// this only gets called with "alreadySaving" already locked
loadDivesWithValidCredentials();
}
@ -475,7 +475,7 @@ successful_exit:
// if we came from local storage mode, let's merge the local data into the local cache
// for the remote data - which then later gets merged with the remote data if necessary
if (oldStatus() == NOCLOUD) {
git_storage_update_progress("import dives from nocloud local storage");
git_storage_update_progress(qPrintable(tr("Loading dives from local storage ('no cloud' mode)")));
dive_table.preexisting = dive_table.nr;
mergeLocalRepo();
DiveListModel::instance()->clear();
@ -941,7 +941,6 @@ void QMLManager::changesNeedSaving()
void QMLManager::saveChangesLocal()
{
if (unsaved_changes()) {
git_storage_update_progress("saving dives locally");
if (credentialStatus() == NOCLOUD) {
if (same_string(existing_filename, "")) {
char *filename = NOCLOUD_LOCALSTORAGE;
@ -976,7 +975,6 @@ void QMLManager::saveChangesLocal()
}
prefs.git_local_only = glo;
mark_divelist_changed(false);
git_storage_update_progress("done with local save");
alreadySaving = false;
} else {
appendTextToLog("local save requested with no unsaved changes");
@ -1007,12 +1005,10 @@ void QMLManager::saveChangesCloud(bool forceRemoteSync)
}
bool glo = prefs.git_local_only;
git_storage_update_progress("start save change to cloud");
prefs.git_local_only = false;
alreadySaving = true;
loadDivesWithValidCredentials();
alreadySaving = false;
git_storage_update_progress("finished syncing dive list to cloud server");
prefs.git_local_only = glo;
}