# \[PATCH v4 00/12\] Git filter protocol

- From: \<hidden\>
- Date: 2016-08-03 17:05:16 
- List: git
- Page: https://ratatoskr.run/git/2016/08/7687100
- Thread: https://ratatoskr.run/git/2016/07/7686761/t.md

```text
From: Lars Schneider <redacted>

Hi,

thanks a lot for the very helpful reviews!

Patch 1-10 are preparation. Patch 11 and 12 the real feature.

Diff to v3:
* simplify protocol, remove size information
* run clean_on_exit_handler() only on SIGTERM (Hannes)
* move hex() macro inside set_packet_header(), undef it after use (Jakub)
* rename buf to data in direct_packet_write_data() (Jakub)
* add benchmark summary (Jakub)
* add empty file test case (Jakub)
* rename multi_packet_read() to packet_read_till_flush()
* expect a flush packet even after 0 content
* move packet stream helper functions to pkt-line.c/h (Jakub)
* add GIT_PACKET_TRACE hint to docs
* remove SIGPIPE ignore (Jakub)
* change to goto error handling style (Jakub)
* cleanup test cases with helper functions (Jakub)
* move shutdown implementation to dedicated patch

Thanks,
Lars


Lars Schneider (12):
  pkt-line: extract set_packet_header()
  pkt-line: add direct_packet_write() and direct_packet_write_data()
  pkt-line: add packet_flush_gentle()
  pkt-line: call packet_trace() only if a packet is actually send
  pkt-line: add functions to read/write flush terminated packet streams
  pack-protocol: fix maximum pkt-line size
  run-command: add clean_on_exit_handler
  convert: quote filter names in error messages
  convert: modernize tests
  convert: generate large test files only once
  convert: add filter.<driver>.process option
  convert: add filter.<driver>.process shutdown command option

 Documentation/gitattributes.txt             | 108 +++++-
 Documentation/technical/protocol-common.txt |   6 +-
 convert.c                                   | 324 ++++++++++++++++--
 pkt-line.c                                  | 156 ++++++++-
 pkt-line.h                                  |  13 +
 run-command.c                               |  12 +-
 run-command.h                               |   1 +
 t/t0021-conversion.sh                       | 503 +++++++++++++++++++++++++---
 t/t0021/rot13-filter.pl                     | 155 +++++++++
 9 files changed, 1187 insertions(+), 91 deletions(-)
 create mode 100755 t/t0021/rot13-filter.pl

--
2.9.0

```
