Re: path = not supporting *

Mo B <[email protected]> Fri, 19 Jul 2024 06:37:32 -0700 (PDT)
Newsgroups gmane.network.unison.general
Message-ID <[email protected]>
Ok, I can describe my use case for that. I'm tracking part of a network 
drive that I don't administrate. I only like so sync parts of it to my 
local sync folder for faster access and offline availability. Therefore I 
need to filter the parts as usually done via globs.
I think this is a very basic requirement to any sync tool and is 
accomplished by rsync for instance, but also different VCS like git or hg...
On Friday, July 19, 2024 at 3:18:18 PM UTC+2 Greg Troxel wrote:

> Sebastian Schleussner <[email protected]> writes:
>
> > As far as I can see, all Unison settings accepting wildcards or regular 
> > expressions, require PathSpec-type arguments that start with "Name", 
> > "Path", "Regex", or "BelowPath".
> > "path" is in another class together with "root", "include", "force", and 
> > "prefer".
> >
> > Changing the "path" setting to do the same as "ignore" and so on would 
> > break countless profiles in the wild.
> > Changing the "path" setting to support wildcards without a keyword like 
> > "Path" would introduce inconsistency into the syntax, and limit those 
> who 
> > want to use full regular expressions.
> > Making the keyword optional would provoke strange behaviour/error 
> messages 
> > if someone does want to sync a path such as "Name"...
> >
> > One solution to avoid breaking backward compatibility would be to 
> introduce 
> > a new setting such as "consider" that takes a PathSpec.
>
> Thanks for your analysis -- I find it is very helpful.
>
> So we conclude that unison is functioning as documented. And that
> perhaps, we could so one of
>
> 1) introduce a Path2 = that takes a PathSpec instead of a literal path.
>
> 2) add the keyword to Path. Because of your point that Path = Path would
> be ambiguous, make it a warning if there isn't one of the keywords, a
> space, and something more. Make sure that one of keywords matches
> exactly the current semantics.
>
> I sort of lean to the 2nd, but I am not sure it would be an overall win
> for users in terms of coping cost for many vs benefit for a few. And
> even if we decide it would be good, someone who cares would have to
> prepare a PR (that updates code, docs, tests, and is clean/rebased).
>
> > Personally, I am quite happy with the 'reason-ability' of a list of 
> > "ignore"s and "ignorenot"s.
>
> Personally, I organize my files into dirs that I want to sync
> (~/shared/foo, for various foo), and do not try to sync my homedir. So
> all of this path stuff bothers me zero. I won't be working on it, and
> am speaking above as maintainer where I try to balance what's good for
> the entire set of users.
>
>

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].