Re: Designing the filter process protocol (was: Re: [PATCH v3 10/10] convert: add filter..process option)

2016-08-06 Thread Lars Schneider
> On 03 Aug 2016, at 20:30, Jakub Narębski wrote: > > ... > > > 2. HANDSHAKE (INITIALIZATION) > > Next, there is deciding on and designing the handshake between Git (between > Git command) and the filter driver process. With the > `filter..process` > solution the driver needs to tell which

Re: [PATCH v3 10/10] convert: add filter..process option

2016-08-05 Thread Lars Schneider
> On 04 Aug 2016, at 12:18, Jakub Narębski wrote: > > ... + + sigchain_push(SIGPIPE, SIG_IGN); >>> >>> Hmmm... ignoring SIGPIPE was good for one-shot filters. Is it still >>> O.K. for per-command persistent ones? >> >> Very good question. You are right... we don't want to ignore an

Re: Designing the filter process protocol (was: Re: [PATCH v3 10/10] convert: add filter..process option)

2016-08-05 Thread Lars Schneider
> On 03 Aug 2016, at 20:30, Jakub Narębski wrote: > > The ultimate goal is to be able to run filter drivers faster for both `clean` > and `smudge` operations. This is done by starting filter driver once per > git command invocation, instead of once per file being processed. Git needs > to pass

Re: [PATCH v3 10/10] convert: add filter..process option

2016-08-04 Thread Jakub Narębski
[Some of this answer might have been invalidated by v4; I might be away from computer for a few days, so I won't be reviewing] W dniu 03.08.2016 o 15:10, Lars Schneider pisze: > On 01 Aug 2016, at 00:19, Jakub Narębski wrote: >> W dniu 30.07.2016 o 01:38, larsxschnei...@gmail.com pisze: [...]

Re: [PATCH v3 10/10] convert: add filter..process option

2016-08-03 Thread Jakub Narębski
[Some of those answers might have been invalidated by v4] W dniu 01.08.2016 o 19:55, Lars Schneider pisze: >> On 01 Aug 2016, at 00:19, Jakub Narębski wrote: >> W dniu 30.07.2016 o 01:38, larsxschnei...@gmail.com pisze: >> [...] >>> +static int multi_packet_read(int fd_in, struct strbuf *sb, siz

Re: [PATCH v3 10/10] convert: add filter..process option

2016-08-03 Thread Jakub Narębski
[Note that some of this might have been invalidated by v4] W dniu 01.08.2016 o 15:32, Lars Schneider pisze: >> On 31 Jul 2016, at 00:05, Jakub Narębski wrote: >> W dniu 30.07.2016 o 01:38, larsxschnei...@gmail.com pisze: >>> Git starts the filter on first usage and expects a welcome >>> message,

Designing the filter process protocol (was: Re: [PATCH v3 10/10] convert: add filter..process option)

2016-08-03 Thread Jakub Narębski
[I'm sorry for taking so long in writing this, as I see there is v4 already] Greetings, I'll answer to individual emails in more detail later, but I'd like to go back to the drawing board, and attempt to summarize the discussion and the proposal so far. The ultimate goal is to be able to run fi

Re: [PATCH v3 10/10] convert: add filter..process option

2016-08-03 Thread Lars Schneider
> On 01 Aug 2016, at 00:19, Jakub Narębski wrote: > > W dniu 30.07.2016 o 01:38, larsxschnei...@gmail.com pisze: > [LONG SNIP] First part answered here: http://public-inbox.org/git/5180D54D-92C4-4875-AEB3-801663D70A8B%40gmail.com/ > >> +} >> +process = &entry->process; >> + >> +

Re: [PATCH v3 10/10] convert: add filter..process option

2016-08-01 Thread Lars Schneider
> On 01 Aug 2016, at 00:19, Jakub Narębski wrote: > > W dniu 30.07.2016 o 01:38, larsxschnei...@gmail.com pisze: > [...] >> +Please note that you cannot use an existing filter..clean >> +or filter..smudge command as filter..process >> +command. > > I think it would be more readable and easier t

Re: [PATCH v3 10/10] convert: add filter..process option

2016-08-01 Thread Lars Schneider
> On 31 Jul 2016, at 00:05, Jakub Narębski wrote: > > W dniu 30.07.2016 o 01:38, larsxschnei...@gmail.com pisze: >> From: Lars Schneider >> >> Git's clean/smudge mechanism invokes an external filter process for every >> single blob that is affected by a filter. If Git filters a lot of blobs >>

Re: [PATCH v3 10/10] convert: add filter..process option

2016-07-31 Thread Jakub Narębski
W dniu 31.07.2016 o 21:49, Lars Schneider pisze: > On 31 Jul 2016, at 11:42, Jakub Narębski wrote: >> W dniu 31.07.2016 o 00:05, Jakub Narębski pisze: >>> W dniu 30.07.2016 o 01:38, larsxschnei...@gmail.com pisze: [...] >>> I think it would be nice to have here at least summary of the benchmarks

Re: [PATCH v3 10/10] convert: add filter..process option

2016-07-31 Thread Jakub Narębski
W dniu 30.07.2016 o 01:38, larsxschnei...@gmail.com pisze: [...] > +Please note that you cannot use an existing filter..clean > +or filter..smudge command as filter..process > +command. I think it would be more readable and easier to understand to write: ... you cannot use an existing ... comma

Re: [PATCH v3 10/10] convert: add filter..process option

2016-07-31 Thread Lars Schneider
> On 31 Jul 2016, at 11:42, Jakub Narębski wrote: > > [Excuse me replying to myself, but there are a few things I forgot, > or realized only later] No worries :) > > W dniu 31.07.2016 o 00:05, Jakub Narębski pisze: >> W dniu 30.07.2016 o 01:38, larsxschnei...@gmail.com pisze: >>> From: Lars S

Re: [PATCH v3 10/10] convert: add filter..process option

2016-07-31 Thread Jakub Narębski
[Excuse me replying to myself, but there are a few things I forgot, or realized only later] W dniu 31.07.2016 o 00:05, Jakub Narębski pisze: > W dniu 30.07.2016 o 01:38, larsxschnei...@gmail.com pisze: >> From: Lars Schneider >> >> Git's clean/smudge mechanism invokes an external filter process

Re: [PATCH v3 10/10] convert: add filter..process option

2016-07-30 Thread Jakub Narębski
W dniu 30.07.2016 o 01:38, larsxschnei...@gmail.com pisze: > From: Lars Schneider > > Git's clean/smudge mechanism invokes an external filter process for every > single blob that is affected by a filter. If Git filters a lot of blobs > then the startup time of the external filter processes can be

[PATCH v3 10/10] convert: add filter..process option

2016-07-29 Thread larsxschneider
From: Lars Schneider Git's clean/smudge mechanism invokes an external filter process for every single blob that is affected by a filter. If Git filters a lot of blobs then the startup time of the external filter processes can become a significant part of the overall Git execution time. This patc