diff options
-rw-r--r-- | core/git-access.c | 7 | ||||
-rw-r--r-- | core/git-access.h | 1 |
2 files changed, 8 insertions, 0 deletions
diff --git a/core/git-access.c b/core/git-access.c index 846fcba96..be1f39120 100644 --- a/core/git-access.c +++ b/core/git-access.c @@ -37,6 +37,7 @@ bool git_local_only = true; #else bool git_local_only = false; #endif +bool git_remote_sync_successful = false; int (*update_progress_cb)(const char *) = NULL; @@ -606,6 +607,7 @@ static int check_remote_status(git_repository *repo, git_remote *origin, const c git_reference_free(remote_ref); } git_reference_free(local_ref); + git_remote_sync_successful = (error == 0); return error; } @@ -942,6 +944,8 @@ static struct git_repository *get_remote_repo(const char *localdir, const char * git_local_only = false; ret = create_local_repo(localdir, remote, branch, rt); git_local_only = glo; + if (ret) + git_remote_sync_successful = true; return ret; } @@ -1033,6 +1037,9 @@ struct git_repository *is_git_repository(const char *filename, const char **bran git_repository *repo; char *loc, *branch; + /* we are looking at a new potential remote, but we haven't synced with it */ + git_remote_sync_successful = false; + flen = strlen(filename); if (!flen || filename[--flen] != ']') return NULL; diff --git a/core/git-access.h b/core/git-access.h index 8e20395a4..b02bd3280 100644 --- a/core/git-access.h +++ b/core/git-access.h @@ -24,6 +24,7 @@ extern const char *get_sha(git_repository *repo, const char *branch); extern int do_git_save(git_repository *repo, const char *branch, const char *remote, bool select_only, bool create_empty); extern const char *saved_git_id; extern bool git_local_only; +extern bool git_remote_sync_successful; extern void clear_git_id(void); extern void set_git_id(const struct git_oid *); extern enum remote_transport url_to_remote_transport(const char *remote); |