diff --git a/man/ostree-remote.xml b/man/ostree-remote.xml index 88e61ac0..2bb8aa71 100644 --- a/man/ostree-remote.xml +++ b/man/ostree-remote.xml @@ -137,6 +137,16 @@ Boston, MA 02111-1307, USA. ostree remote gpg-import --keyring=FILE. + + + =COLLECTION-ID + + + Set the collection ID for the remote to a value provided by + the repository owner, which allows refs from this remote to be + shared peer to peer. + + diff --git a/src/ostree/ot-remote-builtin-add.c b/src/ostree/ot-remote-builtin-add.c index 3e3aeda9..db115efd 100644 --- a/src/ostree/ot-remote-builtin-add.c +++ b/src/ostree/ot-remote-builtin-add.c @@ -31,6 +31,9 @@ static gboolean opt_no_gpg_verify; static gboolean opt_if_not_exists; static char *opt_gpg_import; static char *opt_contenturl; +#ifdef OSTREE_ENABLE_EXPERIMENTAL_API +static char *opt_collection_id; +#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ static GOptionEntry option_entries[] = { { "set", 0, 0, G_OPTION_ARG_STRING_ARRAY, &opt_set, "Set config option KEY=VALUE for remote", "KEY=VALUE" }, @@ -38,6 +41,10 @@ static GOptionEntry option_entries[] = { { "if-not-exists", 0, 0, G_OPTION_ARG_NONE, &opt_if_not_exists, "Do nothing if the provided remote exists", NULL }, { "gpg-import", 0, 0, G_OPTION_ARG_FILENAME, &opt_gpg_import, "Import GPG key from FILE", "FILE" }, { "contenturl", 0, 0, G_OPTION_ARG_STRING, &opt_contenturl, "Use URL when fetching content", "URL" }, +#ifdef OSTREE_ENABLE_EXPERIMENTAL_API + { "collection-id", 0, 0, G_OPTION_ARG_STRING, &opt_collection_id, + "Globally unique ID for this repository as an collection of refs for redistribution to other repositories", "COLLECTION-ID" }, +#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ { NULL } }; @@ -110,6 +117,12 @@ ot_remote_builtin_add (int argc, char **argv, GCancellable *cancellable, GError "gpg-verify", g_variant_new_variant (g_variant_new_boolean (FALSE))); +#ifdef OSTREE_ENABLE_EXPERIMENTAL_API + if (opt_collection_id != NULL) + g_variant_builder_add (optbuilder, "{s@v}", "collection-id", + g_variant_new_variant (g_variant_new_take_string (g_steal_pointer (&opt_collection_id)))); +#endif /* OSTREE_ENABLE_EXPERIMENTAL_API */ + options = g_variant_ref_sink (g_variant_builder_end (optbuilder)); if (!ostree_repo_remote_change (repo, NULL,