mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
api change in libgit2-0.22
Yet another api change in libgit2... let's quote the website "libgit2 is ... linkable library with a solid API ..." Signed-off-by: Martin Gysel <me@bearsh.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
b772beda71
commit
6607425b03
1 changed files with 18 additions and 10 deletions
28
save-git.c
28
save-git.c
|
@ -26,6 +26,14 @@
|
||||||
#define git_reference_set_target(out,ref,target,signature,log_message) \
|
#define git_reference_set_target(out,ref,target,signature,log_message) \
|
||||||
git_reference_set_target(out,ref,target)
|
git_reference_set_target(out,ref,target)
|
||||||
#endif
|
#endif
|
||||||
|
/*
|
||||||
|
* api break in libgit2 revision 0.22
|
||||||
|
*/
|
||||||
|
#if !LIBGIT2_VER_MAJOR && LIBGIT2_VER_MINOR < 22
|
||||||
|
#define git_treebuilder_new(out, repo, source) git_treebuilder_create(out, source)
|
||||||
|
#else
|
||||||
|
#define git_treebuilder_write(id, repo, bld) git_treebuilder_write(id, bld)
|
||||||
|
#endif
|
||||||
|
|
||||||
#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)
|
||||||
|
|
||||||
|
@ -464,7 +472,7 @@ static int tree_insert(git_treebuilder *dir, const char *name, int mkunique, git
|
||||||
* set the "unique" flag, which will then append the SHA1
|
* set the "unique" flag, which will then append the SHA1
|
||||||
* of the directory to the name when it is written.
|
* of the directory to the name when it is written.
|
||||||
*/
|
*/
|
||||||
static struct dir *new_directory(struct dir *parent, struct membuffer *namebuf)
|
static struct dir *new_directory(git_repository *repo, struct dir *parent, struct membuffer *namebuf)
|
||||||
{
|
{
|
||||||
struct dir *subdir;
|
struct dir *subdir;
|
||||||
const char *name = mb_cstring(namebuf);
|
const char *name = mb_cstring(namebuf);
|
||||||
|
@ -477,7 +485,7 @@ static struct dir *new_directory(struct dir *parent, struct membuffer *namebuf)
|
||||||
* and an empty treebuilder list of files.
|
* and an empty treebuilder list of files.
|
||||||
*/
|
*/
|
||||||
subdir->subdirs = NULL;
|
subdir->subdirs = NULL;
|
||||||
git_treebuilder_create(&subdir->files, NULL);
|
git_treebuilder_new(&subdir->files, repo, NULL);
|
||||||
memcpy(subdir->name, name, len);
|
memcpy(subdir->name, name, len);
|
||||||
subdir->unique = 0;
|
subdir->unique = 0;
|
||||||
subdir->name[len] = 0;
|
subdir->name[len] = 0;
|
||||||
|
@ -489,7 +497,7 @@ static struct dir *new_directory(struct dir *parent, struct membuffer *namebuf)
|
||||||
return subdir;
|
return subdir;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct dir *mktree(struct dir *dir, const char *fmt, ...)
|
static struct dir *mktree(git_repository *repo, struct dir *dir, const char *fmt, ...)
|
||||||
{
|
{
|
||||||
struct membuffer buf = { 0 };
|
struct membuffer buf = { 0 };
|
||||||
struct dir *subdir;
|
struct dir *subdir;
|
||||||
|
@ -504,7 +512,7 @@ static struct dir *mktree(struct dir *dir, const char *fmt, ...)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (!subdir)
|
if (!subdir)
|
||||||
subdir = new_directory(dir, &buf);
|
subdir = new_directory(repo, dir, &buf);
|
||||||
free_buffer(&buf);
|
free_buffer(&buf);
|
||||||
return subdir;
|
return subdir;
|
||||||
}
|
}
|
||||||
|
@ -595,7 +603,7 @@ static int save_one_picture(git_repository *repo, struct dir *dir, struct pictur
|
||||||
static int save_pictures(git_repository *repo, struct dir *dir, struct dive *dive)
|
static int save_pictures(git_repository *repo, struct dir *dir, struct dive *dive)
|
||||||
{
|
{
|
||||||
if (dive->picture_list) {
|
if (dive->picture_list) {
|
||||||
dir = mktree(dir, "Pictures");
|
dir = mktree(repo, dir, "Pictures");
|
||||||
FOR_EACH_PICTURE(dive) {
|
FOR_EACH_PICTURE(dive) {
|
||||||
save_one_picture(repo, dir, picture);
|
save_one_picture(repo, dir, picture);
|
||||||
}
|
}
|
||||||
|
@ -612,7 +620,7 @@ static int save_one_dive(git_repository *repo, struct dir *tree, struct dive *di
|
||||||
|
|
||||||
/* Create dive directory */
|
/* Create dive directory */
|
||||||
create_dive_name(dive, &name, tm);
|
create_dive_name(dive, &name, tm);
|
||||||
subdir = new_directory(tree, &name);
|
subdir = new_directory(repo, tree, &name);
|
||||||
subdir->unique = 1;
|
subdir->unique = 1;
|
||||||
free_buffer(&name);
|
free_buffer(&name);
|
||||||
|
|
||||||
|
@ -738,7 +746,7 @@ static int save_one_trip(git_repository *repo, struct dir *tree, dive_trip_t *tr
|
||||||
|
|
||||||
/* Create trip directory */
|
/* Create trip directory */
|
||||||
create_trip_name(trip, &name, tm);
|
create_trip_name(trip, &name, tm);
|
||||||
subdir = new_directory(tree, &name);
|
subdir = new_directory(repo, tree, &name);
|
||||||
subdir->unique = 1;
|
subdir->unique = 1;
|
||||||
free_buffer(&name);
|
free_buffer(&name);
|
||||||
|
|
||||||
|
@ -837,8 +845,8 @@ static int create_git_tree(git_repository *repo, struct dir *root, bool select_o
|
||||||
|
|
||||||
/* Create the date-based hierarchy */
|
/* Create the date-based hierarchy */
|
||||||
utc_mkdate(trip ? trip->when : dive->when, &tm);
|
utc_mkdate(trip ? trip->when : dive->when, &tm);
|
||||||
tree = mktree(root, "%04d", tm.tm_year + 1900);
|
tree = mktree(repo, root, "%04d", tm.tm_year + 1900);
|
||||||
tree = mktree(tree, "%02d", tm.tm_mon + 1);
|
tree = mktree(repo, tree, "%02d", tm.tm_mon + 1);
|
||||||
|
|
||||||
if (trip) {
|
if (trip) {
|
||||||
/* Did we already save this trip? */
|
/* Did we already save this trip? */
|
||||||
|
@ -1072,7 +1080,7 @@ static int do_git_save(git_repository *repo, const char *branch, bool select_onl
|
||||||
/* Start with an empty tree: no subdirectories, no files */
|
/* Start with an empty tree: no subdirectories, no files */
|
||||||
tree.name[0] = 0;
|
tree.name[0] = 0;
|
||||||
tree.subdirs = NULL;
|
tree.subdirs = NULL;
|
||||||
if (git_treebuilder_create(&tree.files, NULL))
|
if (git_treebuilder_new(&tree.files, repo, NULL))
|
||||||
return report_error("git treebuilder failed");
|
return report_error("git treebuilder failed");
|
||||||
|
|
||||||
/* Populate our tree data structure */
|
/* Populate our tree data structure */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue