[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnu-arch-users] Re: robin's per-directory regexps

From: Robert Collins
Subject: [Gnu-arch-users] Re: robin's per-directory regexps
Date: Tue, 25 Nov 2003 06:25:00 +1100

On Tue, 2003-11-25 at 05:05, Tom Lord wrote:
> * the inventory tag of ".arch-inventory" files

>   then the two copies of the .arch-inventory file have 
>   distinct tags.   Changes I make to mine will not be 
>   applied to yours if you merge my changes.

Yes, we considered that, and thought that a names style approach, was
the easiest for the user... getting rid of the special case is trivial.
May I suggest though, that it be special cased by tree-lint?

>   Correcting this bug, however, will break revisions 
>   that already use the .arch-inventory patch.  

Thats fine ;). We early adopters knew the risks.

> * .arch-inventory as control file
>   Now, I tend to think it is sufficiently unlikely that anyone
>   is already using the name .arch-inventory as a non-source 
>   file.   So I think I'm willing to go ahead and break upward
>   compatability in that way.
>   There are two alternatives that come to mind, that preserve upward
>   compatability (but break trees already using the patch):
>   One is to say that ".arch-inventory" files are only ever used if
>   "./{arch}/=tagging-method" contains a special directive, say,
>   "enable .arch-inventory".

Thats easy enough. Anyone using the feature just needs to make the
change and cacherev / fix the first changeset. I'm not using the feature
outside of scratch test-trees - and I suspect the same goes for Robin.

>   Another is to is to rev the "project tree version number" -- 
>   a prospect I'm not too fond of.

Not for this, no. And it won't solve the compatability problem, unless
you support reading the current layout in a v2 tree. Which seems
unnecessary cruft to me.

> * semantics review
> ..

>   The idea of simply ignoring global regexps if dir-local ones are
>   present is conceptually simpler, but I think less practical.  If
>   eventually we want that, we can add an `unrecognized2' regexp
>   keyword to .arch-inventory syntax, tested after the source regexp,
>   so that:
>       unrecognized2 .*
>   will have the effect of causing global regexps to be ignored.

I'd suggest a different one - "ignore-globals" - clearer to the user,
and switches off all global evaluation for the directory.

>   Finally, the patch contains no provision for a .arch-inventory file
>   which applies recursively to subdirs.   I'm not sure one is actually
>   needed.  It's a little unclear how it would interact with a
>   .arch-inventory file in a nested directory.   Nothing in the patch
>   precludes adding this later if we really want it and have a clear
>   idea of what it should do.

That was deliberate, discussed in IRC IIRC. Certainly I considered it,
and rejected it:
src/core   <-- source 
src/subdir/core  <--- junk

Is trivial with non recursive overrides, and not with. If there is a
need for recursive tweaking in such a fashion, IMO the tree almost
certainly needs to be split.

> * Changes to the "ancient defaults"
>   The patch changes the "ancient default regexps" to add
>   .arch-inventory to the excludes regexps.

Ah, whoops. I missed that. Sorry :[.

> * other issues
>   There are some other minor issues about code formatting and coding 
>   style -- more a reflection of my quirky fussiness over some issues
>   than anything else.

If you document those somewhere, I can point at them when reviewing


GPG key available at: <>.

Attachment: signature.asc
Description: This is a digitally signed message part

reply via email to

[Prev in Thread] Current Thread [Next in Thread]