mirror of
https://github.com/ostreedev/ostree.git
synced 2025-03-28 02:50:37 +03:00
lib/config: Deprecate commit-update-summary option
Now that we have `auto-update-summary`, there is no point in having `commit-update-summary`. The latter also only had an effect through the `commit` CLI command, whereas the former is embedded directly in libostree. There is one corner case that slips through: `commit` would update the summary file even if orphan commits were created, which we no longer do here. I can't imagine anyone relying on this, so it seems safe to drop. Closes: #1689 Closes: #1693 Approved by: mwleeds
This commit is contained in:
parent
786ee6bdec
commit
72a54fa877
@ -86,23 +86,23 @@ Boston, MA 02111-1307, USA.
|
||||
<listitem><para>Currently, this must be set to <literal>1</literal>.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>commit-update-summary</varname></term>
|
||||
<listitem><para>Boolean value controlling whether or not to
|
||||
automatically update the summary file after a commit. Defaults
|
||||
to <literal>false</literal>.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>auto-update-summary</varname></term>
|
||||
<listitem><para>Boolean value controlling whether or not to
|
||||
automatically update the summary file after any ref is added,
|
||||
removed, or updated. This covers a superset of the cases covered by
|
||||
commit-update-summary, with the exception of orphan commits which
|
||||
shouldn't affect the summary anyway. Defaults to <literal>false</literal>.
|
||||
removed, or updated. Other modifications which may render a
|
||||
summary file stale (like static deltas, or collection IDs) do
|
||||
not currently trigger an auto-update.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>commit-update-summary</varname></term>
|
||||
<listitem><para>This option is deprecated. Use
|
||||
<literal>auto-update-summary</literal> instead, for which this
|
||||
option is now an alias.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>fsync</varname></term>
|
||||
<listitem><para>Boolean value controlling whether or not to
|
||||
|
@ -5385,8 +5385,7 @@ summary_add_ref_entry (OstreeRepo *self,
|
||||
* regular, setting the `ostree.summary.expires` key in @additional_metadata
|
||||
* will aid clients in working out when to check for updates.
|
||||
*
|
||||
* It is regenerated automatically after a commit if
|
||||
* `core/commit-update-summary` is set, and automatically after any ref is
|
||||
* It is regenerated automatically after any ref is
|
||||
* added, removed, or updated if `core/auto-update-summary` is set.
|
||||
*
|
||||
* If the `core/collection-id` key is set in the configuration, it will be
|
||||
@ -5593,20 +5592,31 @@ ostree_repo_regenerate_summary (OstreeRepo *self,
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* Regenerate the summary if `core/auto-update-summary` is set */
|
||||
/* Regenerate the summary if `core/auto-update-summary` is set. We default to FALSE for
|
||||
* this setting because OSTree supports multiple processes committing to the same repo (but
|
||||
* different refs) concurrently, and in fact gnome-continuous actually does this. In that
|
||||
* context it's best to update the summary explicitly once at the end of multiple
|
||||
* transactions instead of automatically here. `auto-update-summary` only updates
|
||||
* atomically within a transaction. */
|
||||
gboolean
|
||||
_ostree_repo_maybe_regenerate_summary (OstreeRepo *self,
|
||||
GCancellable *cancellable,
|
||||
GError **error)
|
||||
{
|
||||
gboolean auto_update_summary;
|
||||
|
||||
if (!ot_keyfile_get_boolean_with_default (self->config, "core",
|
||||
"auto-update-summary", FALSE,
|
||||
&auto_update_summary, error))
|
||||
return FALSE;
|
||||
|
||||
if (auto_update_summary &&
|
||||
/* Deprecated alias for `auto-update-summary`. */
|
||||
gboolean commit_update_summary;
|
||||
if (!ot_keyfile_get_boolean_with_default (self->config, "core",
|
||||
"commit-update-summary", FALSE,
|
||||
&commit_update_summary, error))
|
||||
return FALSE;
|
||||
|
||||
if ((auto_update_summary || commit_update_summary) &&
|
||||
!ostree_repo_regenerate_summary (self, NULL, cancellable, error))
|
||||
return FALSE;
|
||||
|
||||
|
@ -753,7 +753,6 @@ ostree_builtin_commit (int argc, char **argv, OstreeCommandInvocation *invocatio
|
||||
if (!skip_commit)
|
||||
{
|
||||
guint64 timestamp;
|
||||
gboolean auto_update_summary;
|
||||
|
||||
if (!opt_no_bindings)
|
||||
{
|
||||
@ -823,33 +822,6 @@ ostree_builtin_commit (int argc, char **argv, OstreeCommandInvocation *invocatio
|
||||
|
||||
if (!ostree_repo_commit_transaction (repo, &stats, cancellable, error))
|
||||
goto out;
|
||||
|
||||
if (!ot_keyfile_get_boolean_with_default (ostree_repo_get_config (repo), "core",
|
||||
"auto-update-summary", FALSE,
|
||||
&auto_update_summary, error))
|
||||
goto out;
|
||||
|
||||
/* No need to update it again if we did for each ref change */
|
||||
if (opt_orphan || !auto_update_summary)
|
||||
{
|
||||
gboolean commit_update_summary;
|
||||
|
||||
/* The default for this option is FALSE, even for archive repos,
|
||||
* because ostree supports multiple processes committing to the same
|
||||
* repo (but different refs) concurrently, and in fact gnome-continuous
|
||||
* actually does this. In that context it's best to update the summary
|
||||
* explicitly instead of automatically here. */
|
||||
if (!ot_keyfile_get_boolean_with_default (ostree_repo_get_config (repo), "core",
|
||||
"commit-update-summary", FALSE,
|
||||
&commit_update_summary, error))
|
||||
goto out;
|
||||
|
||||
if (commit_update_summary && !ostree_repo_regenerate_summary (repo,
|
||||
NULL,
|
||||
cancellable,
|
||||
error))
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user