[PATCH v3 00/10] Git filter protocol
- From
larsxschneider@gmail.com <larsxschneider@gmail.com>
- Date
- Jul 29, 2016, 23:37 UTC
- Message-ID
- <20160729233801.82844-1-larsxschneider@gmail.com>
- In-Reply-To
- <20160727000605.49982-1-larsxschneider%40gmail.com/>
From: Lars Schneider <larsxschneider@gmail.com>
Hi,
thanks a lot to Jakub, Peff, Torsten, Eric, and Junio for comments and reviews.
Here is what has changed since v2:
* replace `/dev/urandom` with `test-genrandom` (Torsten, Peff)
* improve commit message "Git filter driver command with spaces" (Jakub)
* use proper types for memory and disk (Peff)
* create packet read buffer with overflow check (Peff)
* change capabilities format: "capabilities clean smudge" (Jakub)
* replace "%zu" (Eric)
* remove &= error handling (Eric, Peff)
* initialize *argv[] with { cmd, NULL } (Jakub)
* reorder multi_packet_read() parameters to match read(2) (Eric)
* do not continue if fstat fails (Eric)
* filter: add reject response
* add functions to pkt-line.h/c that: (Jakub, Peff)
- can write a packet without creating a new buffer
- do not die in case of a failure
* add function to pkt-line.h/c that writes a pkt-line flush and does not die on error
* add filter stream capability
* add filter shutdown capability
* docs: fix LARGE_PACKET_MAX documentaion
see http://public-inbox.org/git/20160726134257.GB19277%40sigill.intra.peff.net/
* docs: fix s/seperated/separated/ (Jakub)
* docs: "mis-configured one-shot filters would hang" (Jakub)
* docs: filter protocol filename absolute (Jakub)
* docs: state that Git can use more than one packet (Jabub)
* docs: add "\n" to lines (Jakub)
* docs: filter precedence (Jakub)Cheers, Lars
PS: If you prefer checkout the code from a Git repo instead then you can find it here: https://github.com/larsxschneider/git/tree/protocol-filter/v3
Lars Schneider (10): 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 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
Documentation/gitattributes.txt | 84 ++++- Documentation/technical/protocol-common.txt | 6 +- convert.c | 412 +++++++++++++++++++++- pkt-line.c | 53 ++- pkt-line.h | 6 + run-command.c | 12 +- run-command.h | 1 + t/t0021-conversion.sh | 515 +++++++++++++++++++++++++--- t/t0021/rot13-filter.pl | 177 ++++++++++ 9 files changed, 1193 insertions(+), 73 deletions(-) create mode 100755 t/t0021/rot13-filter.pl
-- 2.9.0