public inbox for pbs-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Wolfgang Bumiller <w.bumiller@proxmox.com>
To: Dylan Whyte <d.whyte@proxmox.com>
Cc: Dietmar Maurer <dietmar@proxmox.com>,
	Proxmox Backup Server development discussion
	<pbs-devel@lists.proxmox.com>
Subject: Re: [pbs-devel] [PATCH proxmox-backup] fix #3613: catalog_shell: include matched dir's contents on restore
Date: Wed, 6 Apr 2022 11:30:53 +0200	[thread overview]
Message-ID: <20220406093053.b62eyoonznsnjm3v@olga.proxmox.com> (raw)
In-Reply-To: <71ae28f0-e07f-8190-d669-388f5515f99b@proxmox.com>

On Wed, Apr 06, 2022 at 11:15:28AM +0200, Dylan Whyte wrote:
> On 4/6/22 10:26, Dietmar Maurer wrote:
> > > On 04/04/2022 6:19 PM Dylan Whyte<d.whyte@proxmox.com>  wrote:
> > > 
> > > Prior to this, during an interactive restore, if a directory was matched
> > > via a pattern match or selection, only the empty directory would be
> > > restored, and not its contents.
> > Why not simply use "**" if you want to restore a whole tree?
> 
> I had originally thought about this, but there are some good reasons for the
> patch:
> 
>  * I believe there is an expectation when selecting a directory for
>    restore, that you would like for the entire directory to be restored
>    (unless any sub-directory is explicitly excluded).
>  * The 'select' command doesn't do pattern matching, so it wouldn't be
>    able to use '**' to restore the directory. This point doesn't apply
>    to 'find' and 'restore --pattern'.

Fair points.
I don't have particularly hard feelings about this behavior other than
that it's a change people who're already used to it might not expect.

>  * With the current implementation, '**' won't restore empty
>    sub-directories of a matched directory, in spite of the fact that
>    they appear in the match list.

That sounds like a bug.

Now, with your patch getting rid of the `matches_stack` to keep track
of whether or not we're currently extracting, have you tested nested
alternating include-excludes?

include a/
exclude a/b
include a/b/c

where upon leaving from 'c' to 'b' we need to be back in 'exclude' mode
and when leaving from 'b' to 'a' we need to be back in 'include' mode?




  reply	other threads:[~2022-04-06  9:31 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-06  8:26 Dietmar Maurer
2022-04-06  9:15 ` Dylan Whyte
2022-04-06  9:30   ` Wolfgang Bumiller [this message]
2022-04-06 10:09     ` Dylan Whyte
2022-04-06 12:20       ` Wolfgang Bumiller
  -- strict thread matches above, loose matches on Subject: below --
2022-04-04 16:19 Dylan Whyte

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=20220406093053.b62eyoonznsnjm3v@olga.proxmox.com \
    --to=w.bumiller@proxmox.com \
    --cc=d.whyte@proxmox.com \
    --cc=dietmar@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