Hello Thomas!
On Thursday 07 August 2008 Thomas Harold wrote:
> Thank you. Mmm... I now have the ordering of:
>
> t./var/vmail/**/.dovecot.sieve
> t./var/vmail/sievescripts
> ./var/vmail/
OK so far.
> Which seems like FSVS should ignore everything under /var/vmail/ except
> for the sievescripts directory and any files below that point that are
> named ".dovecot.sieve".
Yes - and it can only ignore or take files *that it sees*. See below.
> But fsvs status doesn't show updates when I sit in the root folder (root
> of my working copy, where I always do my commands from):
>
> # fsvs status /
> n... dir .
> # fsvs status /var/
> # fsvs status /var/vmail/
> N... dir ./var/vmail/sievescripts
> n... dir ./var/vmail
> #
I expect you have some more ignore entries than the few you cited above.
> So a fsvs ci -m "comment" from the root won't do anything unless I:
>
> # fsvs ci -m "snapshot" /var/vmail/
> Committing to file:///var/svn/sys-fw1-pri-cfg
> n... dir ./var/vmail
> N... dir ./var/vmail/sievescripts
> committed revision 367 on 2008-08-06T23:48:53.176164Z as root
> #
>
> But it's still not grabbing the files inside of the sievescripts folder.
> Or looking for .dovecot.sieve files under the /var/vmail tree. The
> ".dovecot.sieve" folders are located two levels below /var/vmail:
>
> /var/vmail/domain/username/.dovecot.sieve
The logic in FSVS is:
- Read the directories
- Verify the ignore patterns for the entries
- For the remaining entries, go down recursively.
The problem is:
If you ignore /var/vmail/, FSVS doesn't look in subdirectories for possibly
matching entries.
In other words: If you want /var/vmail/domain/username/.dovecot.sieve
versioned, you'll need to have /var/vmail/domain/
and /var/vmail/domain/username taken as well - where should FSVS find or
store the entries if they weren't?
> Maybe I'm not understanding the USAGE file where you have patterns with
> spaces in them like: './ ** / *.bak'.
That must be an old version - the newer are fixed.
That was a relict because "/*" and "*/" are C comment strings, and so cannot
easily be put in the comments ;-(
> Also tried:
>
> t./var/vmail/*/*/.dovecot.sieve
> t./var/vmail/sievescripts
> ./var/vmail/
That's the same, for this usecase.
> If I create a test file in /var/, it immediately picks it up:
...
> Creating a test file in /var/vmail/ results in:
...
> Which is as expected. Moving the test file under
> /var/vmail/sievescripts then causes fsvs to see that there are actually
> things under /var/vmail/sievescripts that need to be versioned and
> results in a lot of new "N..." lines. It's like fsvs got itself
> "unstuck" and suddenly found the files as I changed things in
> /var/vmail/ itself.
Then there are (possibly two) problems:
* you already had /var/vmail/sievescripts committed (empty); FSVS sees that
the mtime hasn't changed, and so doesn't try to read it again.
You can try using -C to verify that.
* "t./var/vmail/sievescripts" means "take this entry", whereas
"t./var/vmail/sievescripts/" means "take this entries children".
So you'll have to change the ignore pattern.
> Still can't get it to look in folders below /var/vmail/ or find those
> .dovecot.sieve files:
>
> t./var/vmail/**/.dovecot.sieve
> t./var/vmail/sievescripts
> ./var/vmail/
>
> And a "find /var/vmail -name .dovecot.sieve" pulls up 8 files under
> /var/vmail.
>
> I've also tried: "fsvs status -C -C" which took a while to run, but
> still didn't pickup on the ".dovecot.sieve" files in the individual mail
> folders. And running it solely on the /var/vmail/ tree results in:
>
> # fsvs status -C -C -v /var/vmail/
> ..... dir ./var/vmail
> ..... 5276 ./var/vmail/sievescripts/survey-sortingrulesc
> ..... 48 ./var/vmail/sievescripts/survey-BASEc
> ..... 58 ./var/vmail/sievescripts/survey-BASE
> ..... 179 ./var/vmail/sievescripts/Makefile
> ..... 3501 ./var/vmail/sievescripts/survey-sortingrules.old
> ..... dir ./var/vmail/sievescripts
> ..... 4842 ./var/vmail/sievescripts/survey-sortingrules
> #
The second "-C" causes FSVS to do MD5 calculation on all known files - that's
slow, right.
And the other listed entries are already versioned.
> Hmm, I just looked at the version - it's only 1.1.6 (been misreading
> that as 1.1.16).
>
> No luck, even with fsvs-1.1.16:1690, it's still not seeing the dovecot
> sieve files inside of individual user folders.
Yes, because FSVS doesn't look in arbitrary depths - it just checks level by
level for allowed entries.
I now tried to use ignore patterns like this:
t./tree/*/
t./tree/*/*/
t./tree/*/*/.dot-files
./tree/**
I wanted to get FSVS to take the ".dot-files" 2 levels below the "tree", and
nothing else.
But that doesn't work as expected - any file on the first and second level are
taken, too.
I see two options:
* I'll have to implement type-specific ignore patterns, that eg. match only
directories.
* The other way is to manually add the directories to FSVS' entry list; then
the ".dovecot.sieve" files below should be found and taken automatically.
Please, try the "fsvs add" if that does what you need (for now); I'll try to
get type-specific ignore patterns (or something similar) added for the next
release.
Regards,
Phil
--
Versioning your /etc, /home or even your whole installation?
Try fsvs (fsvs.tigris.org)!
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]