From: "Fabian Grünbichler" <f.gruenbichler@proxmox.com>
To: Christian Ebner <c.ebner@proxmox.com>, pbs-devel@lists.proxmox.com
Subject: [pbs-devel] applied-series: [PATCH v5 proxmox-backup 0/5] introduce dedcated archive name api type
Date: Fri, 22 Nov 2024 13:49:01 +0100 [thread overview]
Message-ID: <173227974191.2118190.13647075496700342338@yuna.proxmox.com> (raw)
In-Reply-To: <20241122103011.165010-1-c.ebner@proxmox.com>
with two follow-up patches squashed in (acked by Chris), in order to keep the
"constant" names for manifest, log, catalog and key via LazyLock, and a third
patch extending the tests slightly added.
Quoting Christian Ebner (2024-11-22 11:30:06)
> There is currently no dedicated api type for the archive names, given
> as input parameters to several api methods.
>
> This patches introduce a dedicated type for archive names, in order
> to collect the code for checks and eventual mappings into one
> location and reduce possible unintentional misuse by passing
> incorrect argument values to the functions and methods consuming
> the archive names.
>
> Further, drop all archive name constants in favor of helper methods on
> the api type to generate `BackupArchiveName` instances for them. This
> allows for direct comparison with other `BackupArchiveName` instances.
>
> As a positive side effect, the mapping now allows also for the server
> archive type extensions to be optionally passed as input to several
> commands, e.g.
> ```
> proxmox-backup-client restore <snapshot> <name>.pxar.didx <target>
> ```
> is now valid, being equal to
> ```
> proxmox-backup-client restore <snapshot> <name.pxar <target>
> ```
>
> Changes since version 4:
> - Rebased onto current master
> - Extended to newly introduced sync jobs in push direction
>
> Changes since version 3:
> - Removed catchall fallback to blob type, reworked type parsing logic
> - Removed archive name constants in favor of helper methods to generate
> archive names for them
> - Extended tests
>
> Changes since version 2:
> - Rebased onto current master
> - Amended commit messages
>
> Changes since version 1 (thanks @Gabriel):
> - Rebased onto current master
> - Added unit tests for archive name parsing
> - Added missing check for invalid archive names ending with '/'
> - Inlined variable names for format strings
> - Import implemented traits at top
>
> Christian Ebner (5):
> datastore: move `ArchiveType` to api types
> api types: introduce `BackupArchiveName` type
> client/server: use dedicated api type for all archive names
> client: drop unused parse_archive_type helper
> api types: add unit tests for backup archive name parsing
>
> pbs-api-types/src/datastore.rs | 238 ++++++++++++++++++++++++++-
> pbs-client/src/backup_reader.rs | 18 +-
> pbs-client/src/backup_writer.rs | 43 +++--
> pbs-client/src/pxar/tools.rs | 3 +-
> pbs-client/src/tools/mod.rs | 28 ++--
> pbs-datastore/src/backup_info.rs | 22 +--
> pbs-datastore/src/datastore.rs | 7 +-
> pbs-datastore/src/lib.rs | 3 -
> pbs-datastore/src/manifest.rs | 55 +++----
> pbs-datastore/src/snapshot_reader.rs | 11 +-
> proxmox-backup-client/src/catalog.rs | 35 ++--
> proxmox-backup-client/src/helper.rs | 7 +-
> proxmox-backup-client/src/main.rs | 138 +++++++++-------
> proxmox-backup-client/src/mount.rs | 33 ++--
> proxmox-file-restore/src/main.rs | 13 +-
> src/api2/admin/datastore.rs | 70 ++++----
> src/api2/backup/mod.rs | 3 +-
> src/api2/reader/mod.rs | 7 +-
> src/api2/tape/restore.rs | 17 +-
> src/backup/mod.rs | 3 -
> src/backup/verify.rs | 7 +-
> src/bin/proxmox_backup_debug/diff.rs | 16 +-
> src/server/pull.rs | 24 +--
> src/server/push.rs | 31 ++--
> src/server/sync.rs | 11 +-
> tests/prune.rs | 5 +-
> 26 files changed, 539 insertions(+), 309 deletions(-)
>
> --
> 2.39.5
>
>
>
> _______________________________________________
> pbs-devel mailing list
> pbs-devel@lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
>
>
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
prev parent reply other threads:[~2024-11-22 12:49 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-22 10:30 [pbs-devel] " Christian Ebner
2024-11-22 10:30 ` [pbs-devel] [PATCH v5 proxmox-backup 1/5] datastore: move `ArchiveType` to api types Christian Ebner
2024-11-22 10:30 ` [pbs-devel] [PATCH v5 proxmox-backup 2/5] api types: introduce `BackupArchiveName` type Christian Ebner
2024-11-22 10:30 ` [pbs-devel] [PATCH v5 proxmox-backup 3/5] client/server: use dedicated api type for all archive names Christian Ebner
2024-11-22 10:30 ` [pbs-devel] [PATCH v5 proxmox-backup 4/5] client: drop unused parse_archive_type helper Christian Ebner
2024-11-22 10:30 ` [pbs-devel] [PATCH v5 proxmox-backup 5/5] api types: add unit tests for backup archive name parsing Christian Ebner
2024-11-22 12:49 ` Fabian Grünbichler [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=173227974191.2118190.13647075496700342338@yuna.proxmox.com \
--to=f.gruenbichler@proxmox.com \
--cc=c.ebner@proxmox.com \
--cc=pbs-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.