[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Solving 1.1.0 'svn status' perf regression the other way

From: Erik Huelsmann <e.huelsmann_at_gmx.net>
Date: 2004-08-15 00:54:20 CEST

Hi,

Reading which hoops you all try to jump through to get the svn status
regression fixed, I figured I'd try to do it the other way around: don't let
the lib cache the xlate handle, but let the client do the xlate call with a
handle it allocated itself.

I have some work in progress which implements a _from_utf8 recoding stream.

The idea is this:

Create a stream for stdout/stderr.
Create a stream which recodes UTF-8 to native, which allocates its own xlate
handle.
Forward all output from the recoding stream into the stdio stream.
Recode all UTF-8 to native with the allocated handle (which is stored in the
stream baton).

Now, before I dump a patch here or even commit the change, some questions:

1) What about the approach in general?
2) I currently implemented the recoding stream in svn_cmdline_* because I
think this only works for our own single threaded client
3) In order to do this I had to move some function declarations into
utf_impl.h;
  get_xlate_handle and convert_to_stringbuf to be exact, renaming them to
  svn_utf__get_xlate_handle and svn_utf__convert_to_stringbuf.
4) I didn't do the actual status-cmd and status.c rewrite. It's baton (which
is a
  private struct) will need to be extended to include a stream to send the
status
  output to. All svn_cmdline_printf calls will have to be replaced with
  svn_stream_printf.

Anybody have any reasons why this can't or might not work?

Thanks for the feedback.

bye,

Erik.

-- 
NEU: WLAN-Router für 0,- EUR* - auch für DSL-Wechsler!
GMX DSL = supergünstig & kabellos http://www.gmx.net/de/go/dsl
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sun Aug 15 00:54:46 2004

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.