repo: Check for OSTREE_REPO in ostree_repo_new_default()

Convenience feature to avoid having to pass --repo options repeatedly.

Before falling back to the default system repository path, check for a
repository path defined by the OSTREE_REPO environment variable.
This commit is contained in:
Matthew Barnes 2015-02-19 10:30:25 -05:00
parent 7c267d6089
commit 5aa0d51d7a
2 changed files with 15 additions and 5 deletions

View File

@ -70,8 +70,10 @@
<para> <para>
There is a system repository located at There is a system repository located at
<filename>/ostree/repo</filename>. If no repository <filename>/ostree/repo</filename>. If no repository
is specified, the <command>ostree</command> as well is specified -- either by a command-line option or the
as many API calls will use it by default. <envar>OSTREE_REPO</envar> environment variable --
the <command>ostree</command> as well as many API
calls will use it by default.
</para> </para>
</refsect1> </refsect1>

View File

@ -511,7 +511,8 @@ get_default_repo_path (void)
* *
* If the current working directory appears to be an OSTree * If the current working directory appears to be an OSTree
* repository, create a new #OstreeRepo object for accessing it. * repository, create a new #OstreeRepo object for accessing it.
* Otherwise, use the default system repository located at * Otherwise use the path in the OSTREE_REPO environment variable
* (if defined) or else the default system repository located at
* /ostree/repo. * /ostree/repo.
* *
* Returns: (transfer full): An accessor object for an OSTree repository located at /ostree/repo * Returns: (transfer full): An accessor object for an OSTree repository located at /ostree/repo
@ -527,8 +528,15 @@ ostree_repo_new_default (void)
} }
else else
{ {
gs_unref_object GFile *default_repo_path = get_default_repo_path (); const char *envvar = g_getenv ("OSTREE_REPO");
return ostree_repo_new (default_repo_path); gs_unref_object GFile *repo_path = NULL;
if (envvar == NULL || *envvar == '\0')
repo_path = get_default_repo_path ();
else
repo_path = g_file_new_for_path (envvar);
return ostree_repo_new (repo_path);
} }
} }