mirror of
https://github.com/ostreedev/ostree.git
synced 2025-03-16 10:50:43 +03:00
repo: Add _ostree_repo_get_remote_option_inherit()
Split out from ostree-repo-pull.c. Still private but more reusable now.
This commit is contained in:
parent
b02777accd
commit
e592faec43
@ -196,6 +196,13 @@ _ostree_repo_get_remote_boolean_option (OstreeRepo *self,
|
||||
gboolean *out_value,
|
||||
GError **error);
|
||||
|
||||
gboolean
|
||||
_ostree_repo_get_remote_option_inherit (OstreeRepo *self,
|
||||
const char *remote_name,
|
||||
const char *option_name,
|
||||
char **out_value,
|
||||
GError **error);
|
||||
|
||||
OstreeFetcher *
|
||||
_ostree_repo_remote_new_fetcher (OstreeRepo *self,
|
||||
const char *remote_name,
|
||||
|
@ -1245,35 +1245,6 @@ enqueue_one_object_request (OtPullData *pull_data,
|
||||
soup_uri_free (obj_uri);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
repo_get_remote_option_inherit (OstreeRepo *self,
|
||||
const char *remote_name,
|
||||
const char *option_name,
|
||||
char **out_value,
|
||||
GError **error)
|
||||
{
|
||||
OstreeRepo *parent = ostree_repo_get_parent (self);
|
||||
g_autofree char *value = NULL;
|
||||
gboolean ret = FALSE;
|
||||
|
||||
if (!_ostree_repo_get_remote_option (self, remote_name, option_name, NULL, &value, error))
|
||||
goto out;
|
||||
|
||||
if (value == NULL && parent != NULL)
|
||||
{
|
||||
if (!repo_get_remote_option_inherit (parent, remote_name, option_name, &value, error))
|
||||
goto out;
|
||||
}
|
||||
|
||||
/* Success here just means no error occurred during lookup,
|
||||
* not necessarily that we found a value for the option name. */
|
||||
ot_transfer_out_value (out_value, &value);
|
||||
ret = TRUE;
|
||||
|
||||
out:
|
||||
return ret;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
load_remote_repo_config (OtPullData *pull_data,
|
||||
GKeyFile **out_keyfile,
|
||||
@ -1735,7 +1706,7 @@ ostree_repo_pull_with_options (OstreeRepo *self,
|
||||
{
|
||||
if (baseurl == NULL)
|
||||
{
|
||||
if (!repo_get_remote_option_inherit (self, remote_name_or_baseurl, "url", &baseurl, error))
|
||||
if (!_ostree_repo_get_remote_option_inherit (self, remote_name_or_baseurl, "url", &baseurl, error))
|
||||
goto out;
|
||||
}
|
||||
|
||||
|
@ -355,6 +355,41 @@ _ostree_repo_get_remote_boolean_option (OstreeRepo *self,
|
||||
return ret;
|
||||
}
|
||||
|
||||
gboolean
|
||||
_ostree_repo_get_remote_option_inherit (OstreeRepo *self,
|
||||
const char *remote_name,
|
||||
const char *option_name,
|
||||
char **out_value,
|
||||
GError **error)
|
||||
{
|
||||
OstreeRepo *parent = ostree_repo_get_parent (self);
|
||||
g_autofree char *value = NULL;
|
||||
gboolean ret = FALSE;
|
||||
|
||||
if (!_ostree_repo_get_remote_option (self,
|
||||
remote_name, option_name,
|
||||
NULL, &value, error))
|
||||
goto out;
|
||||
|
||||
if (value == NULL && parent != NULL)
|
||||
{
|
||||
if (!_ostree_repo_get_remote_option_inherit (parent,
|
||||
remote_name, option_name,
|
||||
&value, error))
|
||||
goto out;
|
||||
}
|
||||
|
||||
/* Success here just means no error occurred during lookup,
|
||||
* not necessarily that we found a value for the option name. */
|
||||
if (out_value != NULL)
|
||||
*out_value = g_steal_pointer (&value);
|
||||
|
||||
ret = TRUE;
|
||||
|
||||
out:
|
||||
return ret;
|
||||
}
|
||||
|
||||
OstreeFetcher *
|
||||
_ostree_repo_remote_new_fetcher (OstreeRepo *self,
|
||||
const char *remote_name,
|
||||
|
Loading…
x
Reference in New Issue
Block a user