[libgit2-glib] Bind ggit_index_write_tree_to
- From: Jesse van den Kieboom <jessevdk src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libgit2-glib] Bind ggit_index_write_tree_to
- Date: Thu, 13 Aug 2015 17:14:28 +0000 (UTC)
commit 78f2df9e0d0f343287c1ddc06c2073d1a6665c17
Author: Jesse van den Kieboom <jessevdk gnome org>
Date: Thu Aug 13 19:14:12 2015 +0200
Bind ggit_index_write_tree_to
libgit2-glib/ggit-index.c | 39 +++++++++++++++++++++++++++++++++++++++
libgit2-glib/ggit-index.h | 4 ++++
2 files changed, 43 insertions(+), 0 deletions(-)
---
diff --git a/libgit2-glib/ggit-index.c b/libgit2-glib/ggit-index.c
index 2bf918c..82813ff 100644
--- a/libgit2-glib/ggit-index.c
+++ b/libgit2-glib/ggit-index.c
@@ -596,4 +596,43 @@ ggit_index_write_tree (GgitIndex *idx,
return _ggit_oid_wrap (&oid);
}
+/**
+ * ggit_index_write_tree_to:
+ * @idx: a #GgitIndex.
+ * @repository: a #GgitRepository.
+ * @error: a #GError for error reporting, or %NULL.
+ *
+ * Write a new tree object to @repository containing a representation of the current
+ * state of the index. The index must not contain any files in conflict. You can use
+ * the resulting tree to for instance create a commit.
+ *
+ * Returns: a #GgitOId or %NULL in case of an error.
+ *
+ **/
+GgitOId *
+ggit_index_write_tree_to (GgitIndex *idx,
+ GgitRepository *repository,
+ GError **error)
+{
+ git_oid oid;
+ gint ret;
+
+ g_return_val_if_fail (GGIT_IS_INDEX (idx), NULL);
+ g_return_val_if_fail (GGIT_IS_REPOSITORY (repository), NULL);
+ g_return_val_if_fail (error == NULL || *error == NULL, NULL);
+
+ ret = git_index_write_tree_to (&oid,
+ _ggit_native_get (idx),
+ _ggit_native_get (repository));
+
+ if (ret != GIT_OK)
+ {
+ _ggit_error_set (error, ret);
+ return NULL;
+ }
+
+ return _ggit_oid_wrap (&oid);
+}
+
/* ex:set ts=8 noet: */
+
diff --git a/libgit2-glib/ggit-index.h b/libgit2-glib/ggit-index.h
index 7385943..3af4782 100644
--- a/libgit2-glib/ggit-index.h
+++ b/libgit2-glib/ggit-index.h
@@ -48,6 +48,10 @@ gboolean ggit_index_write (GgitIndex *idx,
GgitOId *ggit_index_write_tree (GgitIndex *idx,
GError **error);
+GgitOId *ggit_index_write_tree_to (GgitIndex *idx,
+ GgitRepository *repository,
+ GError **error);
+
gboolean ggit_index_remove (GgitIndex *idx,
GFile *file,
gint stage,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]