From: Arvin Schnell Date: Fri, 25 Apr 2025 07:19:48 +0000 (+0200) Subject: - show all items in csv and json output X-Git-Tag: v0.13.0~124^2 X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=efc4fcf332f6ea22ef477b02f4745044e764ae20;p=thirdparty%2Fsnapper.git - show all items in csv and json output --- diff --git a/client/snbk/cmd-list-configs.cc b/client/snbk/cmd-list-configs.cc index 06099bd3..b2e9d69b 100644 --- a/client/snbk/cmd-list-configs.cc +++ b/client/snbk/cmd-list-configs.cc @@ -1,5 +1,5 @@ /* - * Copyright (c) 2024 SUSE LLC + * Copyright (c) [2024-2025] SUSE LLC * * All Rights Reserved. * @@ -54,7 +54,8 @@ namespace snapper enum class Column { NAME, CONFIG, TARGET_MODE, AUTOMATIC, SOURCE_PATH, TARGET_PATH, SSH_HOST, - SSH_USER, SSH_PORT, SSH_IDENTITY + SSH_USER, SSH_PORT, SSH_IDENTITY, TARGET_BTRFS_BIN, TARGET_FINDMNT_BIN, + TARGET_MKDIR_BIN, TARGET_REALPATH_BIN, TARGET_RM_BIN, TARGET_RMDIR_BIN }; @@ -92,6 +93,24 @@ namespace snapper case Column::SSH_IDENTITY: return Cell(_("SSH Identity"), Id::SSH_IDENTITY); + + case Column::TARGET_BTRFS_BIN: + return Cell(_("Target btrfs bin")); + + case Column::TARGET_FINDMNT_BIN: + return Cell(_("Target findmnt Bin")); + + case Column::TARGET_MKDIR_BIN: + return Cell(_("Target mkdir bin")); + + case Column::TARGET_REALPATH_BIN: + return Cell(_("Target realpath bin")); + + case Column::TARGET_RM_BIN: + return Cell(_("Target rm bin")); + + case Column::TARGET_RMDIR_BIN: + return Cell(_("Target rmdir bin")); } SN_THROW(Exception("invalid column value")); @@ -141,6 +160,24 @@ namespace snapper if (backup_config.ssh_identity.empty()) return nullptr; return backup_config.ssh_identity; + + case Column::TARGET_BTRFS_BIN: + return backup_config.target_btrfs_bin; + + case Column::TARGET_FINDMNT_BIN: + return backup_config.target_findmnt_bin; + + case Column::TARGET_MKDIR_BIN: + return backup_config.target_mkdir_bin; + + case Column::TARGET_REALPATH_BIN: + return backup_config.target_realpath_bin; + + case Column::TARGET_RM_BIN: + return backup_config.target_rm_bin; + + case Column::TARGET_RMDIR_BIN: + return backup_config.target_rmdir_bin; } SN_THROW(Exception("invalid column value")); @@ -253,27 +290,34 @@ namespace snapper { ParsedOpts opts = get_opts.parse("list-configs", GetOpts::no_options); - vector columns = { Column::NAME, Column::CONFIG, Column::TARGET_MODE, - Column::AUTOMATIC, Column::SOURCE_PATH, Column::TARGET_PATH, Column::SSH_HOST, - Column::SSH_USER, Column::SSH_PORT, Column::SSH_IDENTITY }; - if (get_opts.has_args()) { SN_THROW(OptionsException(_("Command 'list-configs' does not take arguments."))); } + const vector some_columns = { Column::NAME, Column::CONFIG, Column::TARGET_MODE, + Column::AUTOMATIC, Column::SOURCE_PATH, Column::TARGET_PATH, Column::SSH_HOST, + Column::SSH_USER, Column::SSH_PORT, Column::SSH_IDENTITY }; + + const vector all_columns = { Column::NAME, Column::CONFIG, Column::TARGET_MODE, + Column::AUTOMATIC, Column::SOURCE_PATH, Column::TARGET_PATH, Column::SSH_HOST, + Column::SSH_USER, Column::SSH_PORT, Column::SSH_IDENTITY, Column::TARGET_BTRFS_BIN, + Column::TARGET_FINDMNT_BIN, Column::TARGET_MKDIR_BIN, Column::TARGET_REALPATH_BIN, + Column::TARGET_RM_BIN, Column::TARGET_RMDIR_BIN + }; + switch (global_options.output_format()) { case GlobalOptions::OutputFormat::TABLE: - output_table(global_options, columns, backup_configs); + output_table(global_options, some_columns, backup_configs); break; case GlobalOptions::OutputFormat::CSV: - output_csv(global_options, columns, backup_configs); + output_csv(global_options, all_columns, backup_configs); break; case GlobalOptions::OutputFormat::JSON: - output_json(global_options, columns, backup_configs); + output_json(global_options, all_columns, backup_configs); break; } } @@ -283,7 +327,8 @@ namespace snapper const vector EnumInfo::names({ "name", "config", "target-mode", "automatic", "source-path", "target-path", "ssh-host", - "ssh-user", "ssh-port", "ssh-identity" + "ssh-user", "ssh-port", "ssh-identity", "target-btrfs-bin", "target-findmnt-bin", + "target-mkdir-bin", "target-realpath-bin", "target-rm-bin", "target-rmdir-bin" }); } diff --git a/doc/snbk.xml.in b/doc/snbk.xml.in index 07370a89..9e97f6ea 100644 --- a/doc/snbk.xml.in +++ b/doc/snbk.xml.in @@ -157,7 +157,8 @@ - Sets CSV output format. See + Sets CSV output format. For some commands the CSV output + contains more information than the default table output. See RFC 4180 for the details, except lines end with a LF, not CR+LF. @@ -165,7 +166,8 @@ - Sets JSON output format. + Sets JSON output format. For some commands the JSON output + contains more information than the default table output.