mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
2025bc1b2b
Since the spinner caused all kinds of problems inside VMs, wasn't shown at all for some people on Win10 and appeared to get stuck a lot and still left people with the perception that Subsurface was hung, this patch takes a more traditional approach and gives the user a progress dialog. An additional benefit of this is that the user now can cancel a hung transfer. The slightly weird passing in of the callback allows for the separation of UI and core logic code... Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
31 lines
1 KiB
C
31 lines
1 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);
|
|
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 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(*cb)(int));
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif // GITACCESS_H
|
|
|