Hi, W dniu 31.08.2016 o 06:57, Torsten Bögershausen pisze: > On Tue, Aug 30, 2016 at 03:23:10PM -0700, Junio C Hamano wrote: >> Lars Schneider <larsxschneider@xxxxxxxxx> writes: >>> On 30 Aug 2016, at 20:59, Junio C Hamano <gitster@xxxxxxxxx> wrote: Torsten, could you please in the future remove irrelevant parts of the cited email you are responding to? Thanks in advance, [...] >>>> I meant it as primarily an example people can learn from when they >>>> want to write their own. >>> >>> I think `t/t0021/rot13-filter.pl` (part of this patch) serves this purpose >>> already. >> >> I would expect them to peek at contrib/, but do you seriously expect >> people to comb through t/ directory? > > How about a filter written in C, and placed in ./t/helper/ ? > > At least I feel that a filter in C-language could be a starting point > for others which prefer, depending on the task the filter is going to do, > to use shell scripts, perl, python or any other high-level language. People do not look into t/helper/ area, but they do into contrib/. Git provides examples on how to use its features there (among other things). Examples for how use the fast-import feature / protocol are here, in contrib/fast-import. I think that C language would be not a good choice, as required low level wrangling of the protocol would obscure the relevant parts, ... well perhaps except if pkt-line was reused. High-level language would be better. The contrib/fast-import directory includes examples in shell script, Perl and Python. The same could be done here (possibly with more languages). > A test case, where data can not be filtered, would be a minimum. > As Jakub pointed out, you can use iconv with good and bad data. The iconv might be good example, but I think it is not a practical one; are there development environments that do not handle UTF-8? More practical would be to have for example LFS-ish solution of storing files as-is in a specified directory. ROT13 is also good, if not a very practical example. Or rezipping all ZIP-compression based files (ODF, JAR/WAR, DOCX / OOXML, CBZ, EPUB, APK, etc.). -- Jakub Narębski