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(); mgr->deleteLater();
if (verbose > 1) if (verbose > 1)
qWarning() << "Cloud storage: successfully checked connection to cloud server"; qWarning() << "Cloud storage: successfully checked connection to cloud server";
git_storage_update_progress("successfully checked cloud connection");
return true; return true;
} }
} else if (seconds < prefs.cloud_timeout) { } 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)); git_storage_update_progress(qPrintable(text));
} else { } else {
disconnect(reply, SIGNAL(finished()), &loop, SLOT(quit())); disconnect(reply, SIGNAL(finished()), &loop, SLOT(quit()));
reply->abort(); reply->abort();
} }
} }
git_storage_update_progress("cloud connection failed"); git_storage_update_progress(qPrintable(tr("Cloud connection failed")));
prefs.git_local_only = true; prefs.git_local_only = true;
if (verbose) if (verbose)
qDebug() << "connection test to cloud server failed" << 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; (void) payload;
char buf[80]; char buf[80];
snprintf(buf, sizeof(buf), translate("gettextFromC", "Transfer to storage (%d/%d)"), current, total); 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) 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) if (verbose)
fprintf(stderr, "git storage: try to update\n"); fprintf(stderr, "git storage: try to update\n");
git_storage_update_progress("try to update");
if (!git_reference_cmp(local, remote)) if (!git_reference_cmp(local, remote))
return 0; 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 */ /* Is the remote strictly newer? Use it */
if (git_oid_equal(&base, local_id)) { 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); 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 (git_oid_equal(&base, remote_id)) {
if (verbose) if (verbose)
fprintf(stderr, "local is newer than remote, update remote\n"); 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); return update_remote(repo, origin, local, remote, rt);
} }
/* Merging a bare repository always needs user action */ /* 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"); return report_error("Local and remote do not match, local branch not HEAD - cannot update");
} }
/* Ok, let's try to merge these */ /* 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); ret = try_to_git_merge(repo, &local, remote, &base, local_id, remote_id);
if (ret == 0) if (ret == 0)
return update_remote(repo, origin, local, remote, rt); 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) if (verbose)
fprintf(stderr, "git storage: check remote status\n"); 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 (git_branch_lookup(&local_ref, repo, branch, GIT_BRANCH_LOCAL)) {
if (is_subsurface_cloud) 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) else if (rt == RT_HTTPS)
opts.callbacks.credentials = credential_https_cb; opts.callbacks.credentials = credential_https_cb;
opts.callbacks.certificate_check = certificate_check_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); error = git_remote_push(origin, &refspec, &opts);
} else { } else {
error = try_to_update(repo, origin, local_ref, remote_ref, remote, branch, rt); 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) if (verbose)
fprintf(stderr, "sync with remote %s[%s]\n", remote, branch); 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); git_repository_config(&conf, repo);
if (rt == RT_HTTPS && getProxyString(&proxy_string)) { if (rt == RT_HTTPS && getProxyString(&proxy_string)) {
if (verbose) if (verbose)
@ -586,7 +585,7 @@ int sync_with_remote(git_repository *repo, const char *remote, const char *branc
if (rt == RT_HTTPS && !canReachCloudServer()) { if (rt == RT_HTTPS && !canReachCloudServer()) {
// this is not an error, just a warning message, so return 0 // this is not an error, just a warning message, so return 0
report_error("Cannot connect to cloud server, working with local copy"); 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; return 0;
} }
if (verbose) if (verbose)
@ -599,7 +598,7 @@ int sync_with_remote(git_repository *repo, const char *remote, const char *branc
else if (rt == RT_HTTPS) else if (rt == RT_HTTPS)
opts.callbacks.credentials = credential_https_cb; opts.callbacks.credentials = credential_https_cb;
opts.callbacks.certificate_check = certificate_check_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); error = git_remote_fetch(origin, NULL, &opts, NULL);
// NOTE! A fetch error is not fatal, we just report it // NOTE! A fetch error is not fatal, we just report it
if (error) { 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); error = check_remote_status(repo, origin, remote, branch, rt);
} }
git_remote_free(origin); 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; 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); report_error("Unable to open git cache repository at %s: %s", localdir, giterr_last()->message);
return NULL; return NULL;
} }
if (!prefs.git_local_only) { if (!prefs.git_local_only)
git_storage_update_progress("update remote repo");
sync_with_remote(repo, remote, branch, rt); sync_with_remote(repo, remote, branch, rt);
}
return repo; return repo;
} }
@ -773,7 +771,7 @@ static struct git_repository *get_remote_repo(const char *localdir, const char *
if (verbose > 1) { if (verbose > 1) {
fprintf(stderr, "git_remote_repo: accessing %s\n", remote); 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? */ /* Do we already have a local cache? */
if (!subsurface_stat(localdir, &st)) { if (!subsurface_stat(localdir, &st)) {
if (!S_ISDIR(st.st_mode)) { 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); char *get_local_dir(const char *remote, const char *branch);
int git_create_local_repo(const char *filename); int git_create_local_repo(const char *filename);
extern int last_git_storage_update_val;
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif

View file

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

View file

@ -23,6 +23,7 @@
#include "git-access.h" #include "git-access.h"
#include "version.h" #include "version.h"
#include "qthelperfromc.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) #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; struct dive *dive;
dive_trip_t *trip; 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_settings(repo, root);
save_divesites(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; trip->index = 0;
/* save the dives */ /* save the dives */
git_storage_update_progress("start saving dives"); git_storage_update_progress(translate("gettextFromC", "Start saving dives"));
for_each_dive(i, dive) { for_each_dive(i, dive) {
struct tm tm; struct tm tm;
struct dir *tree; 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); 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; 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"); fprintf(stderr, "git storage: do git save\n");
if (!create_empty) // so we are actually saving the dives 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 * 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) extern "C" int gitProgressCB(const char *text)
{ {
static QElapsedTimer timer; static QElapsedTimer timer;
static qint64 lastTime; static qint64 lastTime = 0;
static QMLManager *self; static QMLManager *self;
if (!self) if (!self)
@ -58,8 +58,9 @@ extern "C" int gitProgressCB(const char *text)
qint64 elapsed = timer.elapsed(); qint64 elapsed = timer.elapsed();
self->appendTextToLog(text); self->appendTextToLog(text);
self->setNotificationText(text); self->setNotificationText(text);
if (elapsed - lastTime > 500) if (elapsed - lastTime > 50) { // 20 Hz refresh
qApp->processEvents(); qApp->processEvents(QEventLoop::ExcludeUserInputEvents);
}
lastTime = elapsed; lastTime = elapsed;
} }
// return 0 so that we don't end the download // return 0 so that we don't end the download
@ -419,8 +420,7 @@ void QMLManager::retrieveUserid()
s.sync(); s.sync();
} }
setCredentialStatus(VALID); setCredentialStatus(VALID);
setStartPageText("Cloud credentials valid, loading dives..."); setStartPageText(tr("Cloud credentials valid, loading dives..."));
git_storage_update_progress("load dives with valid credentials");
// this only gets called with "alreadySaving" already locked // this only gets called with "alreadySaving" already locked
loadDivesWithValidCredentials(); loadDivesWithValidCredentials();
} }
@ -475,7 +475,7 @@ successful_exit:
// if we came from local storage mode, let's merge the local data into the local cache // 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 // for the remote data - which then later gets merged with the remote data if necessary
if (oldStatus() == NOCLOUD) { 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; dive_table.preexisting = dive_table.nr;
mergeLocalRepo(); mergeLocalRepo();
DiveListModel::instance()->clear(); DiveListModel::instance()->clear();
@ -941,7 +941,6 @@ void QMLManager::changesNeedSaving()
void QMLManager::saveChangesLocal() void QMLManager::saveChangesLocal()
{ {
if (unsaved_changes()) { if (unsaved_changes()) {
git_storage_update_progress("saving dives locally");
if (credentialStatus() == NOCLOUD) { if (credentialStatus() == NOCLOUD) {
if (same_string(existing_filename, "")) { if (same_string(existing_filename, "")) {
char *filename = NOCLOUD_LOCALSTORAGE; char *filename = NOCLOUD_LOCALSTORAGE;
@ -976,7 +975,6 @@ void QMLManager::saveChangesLocal()
} }
prefs.git_local_only = glo; prefs.git_local_only = glo;
mark_divelist_changed(false); mark_divelist_changed(false);
git_storage_update_progress("done with local save");
alreadySaving = false; alreadySaving = false;
} else { } else {
appendTextToLog("local save requested with no unsaved changes"); appendTextToLog("local save requested with no unsaved changes");
@ -1007,12 +1005,10 @@ void QMLManager::saveChangesCloud(bool forceRemoteSync)
} }
bool glo = prefs.git_local_only; bool glo = prefs.git_local_only;
git_storage_update_progress("start save change to cloud");
prefs.git_local_only = false; prefs.git_local_only = false;
alreadySaving = true; alreadySaving = true;
loadDivesWithValidCredentials(); loadDivesWithValidCredentials();
alreadySaving = false; alreadySaving = false;
git_storage_update_progress("finished syncing dive list to cloud server");
prefs.git_local_only = glo; prefs.git_local_only = glo;
} }