From: Jonathan Nieder <jrnieder@gmail.com>
To: git@vger.kernel.org
Cc: David Barr <david.barr@cordelta.com>,
Thomas Rast <trast@student.ethz.ch>,
Ramkumar Ramachandra <artagnon@gmail.com>
Subject: [PATCHES 9-12/12] line_buffer: more wrappers around stdio functions
Date: Sun, 2 Jan 2011 21:03:28 -0600 [thread overview]
Message-ID: <20110103030328.GA10143@burratino> (raw)
In-Reply-To: <20110103004900.GA30506@burratino>
This might be the last batch of line_buffer patches for the moment[1].
It introduces wrappers around strbuf_fread, fgetc, fdopen, and tmpfile
so the line_buffer lib can do what those functions do.
The motivation in the background is delta application. We need:
- binary-safe input, since svn (like most version control systems)
gets used to store binary files from time to time.
- character-oriented input (fgetc) as a basic convenience, needed in
particular for reading variable-length integers in svndiff blocks.
- input from file descriptors, to read information requested from
fast-import (in particular, delta preimages).
- temporary files, to store the result of delta application and
retrieve its length so svn-fe can write
data <length>
... delta application result ...
to fast-import.
The ideas behind the third and fourth patches (patches 11 and 12) are
from David Barr's earlier work in the same direction. Patches are
based against
[PATCH 8/8] t0081 (line-buffer): add buffering tests
so we can reuse some of the testing infrastructure. They are numbered
accordingly for easy application.
Each patch introduces new API. I would be happy if you can find an
infelicity or two so we can fix the functions now before people get
used to them.
Jonathan Nieder (4):
vcs-svn: add binary-safe read function
vcs-svn: allow character-oriented input
vcs-svn: allow input from file descriptor
vcs-svn: teach line_buffer about temporary files
t/t0081-line-buffer.sh | 27 +++++++++++++++++++++++++++
test-line-buffer.c | 21 ++++++++++++++++++---
vcs-svn/line_buffer.c | 43 +++++++++++++++++++++++++++++++++++++++++++
vcs-svn/line_buffer.h | 10 +++++++++-
vcs-svn/line_buffer.txt | 31 +++++++++++++++++++++++++++----
5 files changed, 124 insertions(+), 8 deletions(-)
[1] There's another patch to use 64-bit offsets but the API changes
are more obvious.
next prev parent reply other threads:[~2011-01-03 3:06 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-24 8:05 [PATCH 0/4] teach vcs-svn/line_buffer to handle multiple input files Jonathan Nieder
2010-12-24 8:08 ` [PATCH 1/4] vcs-svn: eliminate global byte_buffer Jonathan Nieder
2010-12-24 8:17 ` [PATCH 2/4] vcs-svn: replace buffer_read_string memory pool with a strbuf Jonathan Nieder
2010-12-24 8:18 ` [PATCH 3/4] vcs-svn: collect line_buffer data in a struct Jonathan Nieder
2010-12-24 8:28 ` [PATCH 4/4] vcs-svn: teach line_buffer to handle multiple input files Jonathan Nieder
2011-01-03 0:49 ` [PATCH 0/4] teach vcs-svn/line_buffer " Jonathan Nieder
2011-01-03 0:50 ` [PATCH 5/8] vcs-svn: make test-line-buffer input format more flexible Jonathan Nieder
2011-01-03 0:51 ` [PATCH 6/8] tests: give vcs-svn/line_buffer its own test script Jonathan Nieder
2011-01-03 0:52 ` [PATCH 7/8] vcs-svn: tweak test-line-buffer to not assume line-oriented input Jonathan Nieder
2011-01-03 1:07 ` [PATCH 8/8] t0081 (line-buffer): add buffering tests Jonathan Nieder
2011-01-03 1:34 ` Jonathan Nieder
2011-01-03 3:03 ` Jonathan Nieder [this message]
2011-01-03 3:05 ` [PATCH 09/12] vcs-svn: add binary-safe read function Jonathan Nieder
2011-01-03 3:06 ` [PATCH 10/12] vcs-svn: allow character-oriented input Jonathan Nieder
2011-01-03 3:09 ` [PATCH 11/12] vcs-svn: allow input from file descriptor Jonathan Nieder
2011-01-03 3:10 ` [PATCH 12/12] vcs-svn: teach line_buffer about temporary files Jonathan Nieder
2011-01-22 6:42 ` [FYI/PATCH] vcs-svn: give control over temporary file names Jonathan Nieder
2011-02-26 11:44 ` [PULL svn-fe] fast-import 'ls', line-buffer changes Jonathan Nieder
2011-02-26 12:03 ` David Michael Barr
2011-02-28 6:15 ` Junio C Hamano
2011-02-28 21:32 ` [PATCH svn-fe] fast-import: make code "-Wpointer-arith" clean Jonathan Nieder
2011-02-28 21:36 ` Sverre Rabbelier
2011-02-28 22:05 ` Junio C Hamano
2011-02-28 23:15 ` Jonathan Nieder
2011-03-01 0:41 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110103030328.GA10143@burratino \
--to=jrnieder@gmail.com \
--cc=artagnon@gmail.com \
--cc=david.barr@cordelta.com \
--cc=git@vger.kernel.org \
--cc=trast@student.ethz.ch \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.