Re: [PATCH] Quick description of possible gitattributes system
- From
- Andy Parkins <andyparkins@gmail.com>
- Date
- Mar 2, 2007, 08:56 UTC
- Message-ID
- <200703020856.35246.andyparkins@gmail.com>
- In-Reply-To
- <7vejo8o69o.fsf@assigned-by-dhcp.cox.net>
On Friday 2007 March 02 00:09, Junio C Hamano wrote:
[deleted lots of easily-agreed-with stuff]
> I would suggest making handler section _match_ the attribute > names. By "match", what I mean is to allow something like this:
I don't see that working. If it were possible to do that why would we need separate handlers and attributes? You're example is fine
> [handler "image/*"] > pretty = "cmd display -"
But what about when I want to do this:
[handler "lossless-images-only"] attribute = "image/png" attribute = "image/gif" pre-commit = /bin/false
To prevent the adding of all lossless image formats? I actually can't see a time when the handler name needs referencing, so it can be anything (as long as it's unique - perhaps). If you wanted to use/encourage the attribute name - fine, but it shouldn't be required. However I think it's more sensible to name the handler after what it does than what it applies to - the applies to can change, what it does never.
The handlers are like function calls. You wouldn't want to name functions after where they were called.
Show 9 quoted lines
> > +[handler "show-images"] > > + attribute = image/gif > > + prettyfilter = pipe display - > > I would recommend against calling them *filter. After all, the > semantics of each handler action (such as input, output and > pretty) already determine if it needs to act as a filter or data > sink. We do not need to say prettyfilter either; it is not even > a filter to begin with -- it is a data sink.
That's true; I don't have any strong feelings. I just didn't like "convert" being used. Convert always sounds like something that takes one thing and makes another out of it - at the end you have two things. Filters transform one thing into another - at the end you have one thing.
Perhaps better names would be simply to name them after the operation the runs them.
infilter = checkin outfilter = checkout prettyfilter = show
?
Is the document useful; would you like me to maintain it? I don't want to waste your time with it.
Andy
-- Dr Andy Parkins, M Eng (hons), MIET andyparkins@gmail.com