2017-04-27 18:18:03 +00:00
|
|
|
// SPDX-License-Identifier: GPL-2.0
|
2015-06-13 15:01:06 +00:00
|
|
|
#ifndef GITACCESS_H
|
|
|
|
#define GITACCESS_H
|
|
|
|
|
2015-06-13 20:16:08 +00:00
|
|
|
#include "git2.h"
|
2020-06-20 16:15:50 +00:00
|
|
|
#include "filterpreset.h"
|
2015-06-13 20:16:08 +00:00
|
|
|
|
2015-06-13 15:01:06 +00:00
|
|
|
#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 */
|
2015-09-23 09:13:07 +00:00
|
|
|
extern struct git_repository *is_git_repository(const char *filename, const char **branchp, const char **remote, bool dry_run);
|
2016-04-06 05:51:09 +00:00
|
|
|
extern int check_git_sha(const char *filename, git_repository **git_p, const char **branch_p);
|
2015-06-13 15:01:06 +00:00
|
|
|
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);
|
2020-06-20 16:15:50 +00:00
|
|
|
extern int git_load_dives(struct git_repository *repo, const char *branch, struct dive_table *table, struct trip_table *trips,
|
|
|
|
struct dive_site_table *sites, filter_preset_table_t *filter_presets);
|
2015-12-27 17:56:27 +00:00
|
|
|
extern const char *get_sha(git_repository *repo, const char *branch);
|
2015-06-14 01:27:41 +00:00
|
|
|
extern int do_git_save(git_repository *repo, const char *branch, const char *remote, bool select_only, bool create_empty);
|
2015-06-13 15:01:06 +00:00
|
|
|
extern const char *saved_git_id;
|
2018-09-10 13:30:01 +00:00
|
|
|
extern bool git_local_only;
|
2020-06-13 20:41:09 +00:00
|
|
|
extern bool git_remote_sync_successful;
|
2015-06-13 15:01:06 +00:00
|
|
|
extern void clear_git_id(void);
|
|
|
|
extern void set_git_id(const struct git_oid *);
|
2018-01-12 23:00:50 +00:00
|
|
|
extern enum remote_transport url_to_remote_transport(const char *remote);
|
2017-06-18 06:22:37 +00:00
|
|
|
void set_git_update_cb(int(*)(const char *));
|
|
|
|
int git_storage_update_progress(const char *text);
|
2015-09-23 09:13:07 +00:00
|
|
|
char *get_local_dir(const char *remote, const char *branch);
|
2016-04-22 14:00:29 +00:00
|
|
|
int git_create_local_repo(const char *filename);
|
2020-04-10 00:05:55 +00:00
|
|
|
int get_authorship(git_repository *repo, git_signature **authorp);
|
2016-04-04 00:26:05 +00:00
|
|
|
|
2015-06-13 15:01:06 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif // GITACCESS_H
|
|
|
|
|