public inbox for pbs-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Philipp Hufnagl <p.hufnagl@proxmox.com>
To: pbs-devel@lists.proxmox.com
Subject: [pbs-devel] [PATCH proxmox-backup v6 0/4] fix #4315: datastore: Exclude entries from sync
Date: Fri, 22 Dec 2023 17:39:58 +0100	[thread overview]
Message-ID: <20231222164002.455227-1-p.hufnagl@proxmox.com> (raw)

This allows to use Group Filter for sync jobs so matches can not just be
included but also excluded. For this the "group-filter" configuration
syntax has been extended with an optional "behaviour" parameter.
this can be "include" or "exclude". First, all include filter will be
applied, then all exclude filter. If no include filters exist, all will
be considered included.

Signed-off-by: Philipp Hufnagl <p.hufnagl@proxmox.com>
---

Changes since v4:
 * add apply_filter to GrpupFilter member
 * do include/eclude filter seperation in apply_filter
 * minor code improvements based on feedback

Changes since v4:
 * add testing
 * refactor apply filter logic to reduce duplicaton
 * split filter in incude/exclude lists

Changes since v3:
 * increase size of delete icon
 * include all when no include filter exist

Changes since v2:
 * rebase to new master
 * change docu as suggested
 * make list for filter smaller

Changes since v1:
 * rename behaviour in behavior
 * modify behavior, so that first all include filter will be executed,
   then all exlude one

Philipp Hufnagl (4):
  fix #4315: jobs: modify GroupFilter so include/exclude is tracked
  ui: Show if Filter includes or excludes
  docs: document new include/exclude paramenter
  tests: check if include/exclude behavior works correctly

 docs/managing-remotes.rst      |  13 ++
 pbs-api-types/src/datastore.rs |  39 ++++--
 pbs-api-types/src/jobs.rs      |  51 ++++++--
 src/api2/tape/backup.rs        |  39 +++---
 src/server/pull.rs             |  46 +++----
 tests/sync_jobs.rs             |  76 +++++++++++
 www/form/GroupFilter.js        | 233 ++++++++++++++++++++++++---------
 7 files changed, 361 insertions(+), 136 deletions(-)
 create mode 100644 tests/sync_jobs.rs

-- 
2.39.2





             reply	other threads:[~2023-12-22 16:40 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-22 16:39 Philipp Hufnagl [this message]
2023-12-22 16:39 ` [pbs-devel] [PATCH proxmox-backup v6 1/4] fix #4315: jobs: modify GroupFilter so include/exclude is tracked Philipp Hufnagl
2023-12-22 16:40 ` [pbs-devel] [PATCH proxmox-backup v6 2/4] ui: Show if Filter includes or excludes Philipp Hufnagl
2023-12-22 16:40 ` [pbs-devel] [PATCH proxmox-backup v6 3/4] docs: document new include/exclude paramenter Philipp Hufnagl
2023-12-22 16:40 ` [pbs-devel] [PATCH proxmox-backup v6 4/4] tests: check if include/exclude behavior works correctly Philipp Hufnagl

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=20231222164002.455227-1-p.hufnagl@proxmox.com \
    --to=p.hufnagl@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal