From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id BAB89E1C3 for ; Wed, 7 Dec 2022 10:39:08 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 9B8533682B for ; Wed, 7 Dec 2022 10:38:38 +0100 (CET) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS for ; Wed, 7 Dec 2022 10:38:37 +0100 (CET) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id DDC9D450FE for ; Wed, 7 Dec 2022 10:38:36 +0100 (CET) From: Lukas Wagner To: pbs-devel@lists.proxmox.com Date: Wed, 7 Dec 2022 10:38:15 +0100 Message-Id: <20221207093819.75847-1-l.wagner@proxmox.com> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.101 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [diff.rs, ldap.rs] Subject: [pbs-devel] [PATCH v3 proxmox-backup 0/4] debug cli: improve output, optionally compare file content for `diff archive` X-BeenThere: pbs-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Backup Server development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Dec 2022 09:39:08 -0000 This patch series contains a few improvements for the `diff archive` tool, mainly based on Wolfgang's and Thomas' suggestions. First, the output of is now much more detailed and shows some relevant file attributes, including what has changed between snapshots. Changed attributes are highlighted by a "*" and are highlighted by colored text. For instance: $ proxmox-backup-debug diff archive ... --compare-content A f 644 10045 10000 0 B 2022-11-28 13:44:51 add.txt M f 644 10045 10000 6 B *2022-11-28 13:45:05 *content.txt D f 644 10045 10000 0 B 2022-11-28 13:17:09 deleted.txt M f 644 10045 *29 0 B 2022-11-28 13:16:20 gid.txt M f *777 10045 10000 0 B 2022-11-28 13:42:47 mode.txt M f 644 10045 10000 0 B *2022-11-28 13:44:33 mtime.txt M f 644 10045 10000 *7 B *2022-11-28 13:44:59 size.txt M f 644 *64045 10000 0 B 2022-11-28 13:16:18 uid.txt M *f 644 10045 10000 10 B 2022-11-28 13:44:59 type.txt Furthermore, there now exists the possiblity to pass the --compare-content flag to the tool. If the flag is passed, the tool will compare the file content instead of relying on mtime alone to detect modifications. This patch series adds new dependencies to the `termcolor` and `atty` crates. That being said, both crates were already pulled in by other crates as transitive dependencies. Changes from v2: - Increase buffersize to 4K - Added workaround for weird issue with tokio::try_join! and #[api] - Drop dependency on `atty` crate - Remove modificiations to debian/control - `diff_archive_cmd`: Moved parameters into the function signature, instead of manually extracting it from `Value`. Changes from v1: - Made `changed indicator for file content` a bit less confusing. For regular files, it is now only displayed if - the --comapare-content flag is set and - the file contents *actually* differ - Removed unnecessesary namespace prefix for std::task::Pin in unit tests - Added color output, controllable via --color {always,auto,never} flag. Lukas Wagner (4): debug cli: show more file attributes for `diff archive` command debug cli: add 'compare-content' flag to `diff archive` command debug cli: add colored output for `diff archive` debug cli: move parameters into the function signature Cargo.toml | 1 + src/bin/proxmox_backup_debug/diff.rs | 611 ++++++++++++++++++++++--- src/bin/proxmox_backup_manager/ldap.rs | 102 +++++ 3 files changed, 644 insertions(+), 70 deletions(-) create mode 100644 src/bin/proxmox_backup_manager/ldap.rs -- 2.30.2