We first check the sha to see if we want to load at all. But at that point we already have the repository and the branch and we have synced with the remote. So when we decide that we need to reload from storage, we don't need to repeat those steps, instead we can go directly to the git load. For that to work we need to pass the repository pointer and the branch name back to the caller so that we can directly call git_load_dives(). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
38 lines
1.4 KiB
C
38 lines
1.4 KiB
C
#ifndef GITACCESS_H
|
|
#define GITACCESS_H
|
|
|
|
#include "git2.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#else
|
|
#include <stdbool.h>
|
|
#endif
|
|
|
|
enum remote_transport { RT_OTHER, RT_HTTPS, RT_SSH };
|
|
|
|
struct git_oid;
|
|
struct git_repository;
|
|
#define dummy_git_repository ((git_repository *)3ul) /* Random bogus pointer, not NULL */
|
|
extern struct git_repository *is_git_repository(const char *filename, const char **branchp, const char **remote, bool dry_run);
|
|
extern int check_git_sha(const char *filename, git_repository **git_p, const char **branch_p);
|
|
extern int sync_with_remote(struct git_repository *repo, const char *remote, const char *branch, enum remote_transport rt);
|
|
extern int git_save_dives(struct git_repository *, const char *, const char *remote, bool select_only);
|
|
extern int git_load_dives(struct git_repository *, const char *);
|
|
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 void clear_git_id(void);
|
|
extern void set_git_id(const struct git_oid *);
|
|
void set_git_update_cb(int (*)(int, const char *));
|
|
int git_storage_update_progress(int percent, const char *text);
|
|
char *get_local_dir(const char *remote, const char *branch);
|
|
|
|
extern int last_git_storage_update_val;
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif // GITACCESS_H
|
|
|