You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jun 15, 2025. It is now read-only.
This change marks the last step in the introduction of proper command execution in the form of springs. It adds a new option, --join, that, when used, causes different behavior in a couple of respects: 1) The way filters are executed and data is transferred between them changes. Previously, the execution model was always a pipeline. With this change, all filter commands listed before the --join option are interpreted as a spring, meaning that they will be executed in a serial fashion and the *accumulated* output will be passed to the commands following this option. 2) Handling of the special '{file}' string used for signalling btrfs-backup where in a command a file name is to be inserted is modified. Without --join, the behavior stays the same. That is, the (long) option (is any) accompanying this string is replicated for all the required files. Now, if --join is passed in (and it being placed behind some filter command), this string will cause the entire command containing the '{file}' string to be replicated for each file and added to the spring. On a high level, the purpose of this change is to enable support for the following scenario: There exists a file repository (possibly on a remote host). This repository already contains a set of snapshots (one full [and, hence, self-contained] one and more incremental ones). If a restore is desired from this file repository the data from all snapshots might be needed to restore the backed up state. Now, some programs (such as GnuPG which could be used for encryption in such a scenario) do not allow working with multiple files at once. To that end, multiple instances have to be started and their output needs to be accumulated before further processing can happen.
0 commit comments