public inbox for pbs-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Dylan Whyte <d.whyte@proxmox.com>
To: Wolfgang Bumiller <w.bumiller@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 12:09:51 +0200	[thread overview]
Message-ID: <9ca6551c-b095-d758-6cd7-7c6169ba94b4@proxmox.com> (raw)
In-Reply-To: <20220406093053.b62eyoonznsnjm3v@olga.proxmox.com>


On 4/6/22 11:30, Wolfgang Bumiller wrote:
> 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.
Just to clarify, would you like me to fix only this specific bug and 
otherwise leave the old behavior in place, so that the trailing '/**' is 
still required to restore a directory's contents?
>
> 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?
Regarding this, the patch currently just skips any excluded items, so an 
excluded directory is not traversed. I decided that items inside 
excluded directories probably aren't meant to be matched, but if you'd 
like it to behave otherwise, I can rethink it :)




  reply	other threads:[~2022-04-06 10:10 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
2022-04-06 10:09     ` Dylan Whyte [this message]
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=9ca6551c-b095-d758-6cd7-7c6169ba94b4@proxmox.com \
    --to=d.whyte@proxmox.com \
    --cc=dietmar@proxmox.com \
    --cc=pbs-devel@lists.proxmox.com \
    --cc=w.bumiller@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