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

Re: GUI Notes

From: Jacek Prucia <jacek.prucia_at_7bulls.com>
Date: 2001-07-05 11:46:34 CEST

W 2001.07.04 20:57:12 +0200 Karl Fogel writes:

> As for the GUI-over-command-line-client versus GUI-over-native-libs
> question:
> IMHO, do whatever works and will get it up and running fastest. The
> important part of the GUI is the interface, so for rapid-prototyping
> purposes one may prefer to implement it over the command-line client
> first (if that seems to be easier) and switch to native library calls
> later. Or not.

Negative on that. Let me explain why.

The biggest advantage of Subversion is (in my *very* personal opinion) well
designed architecture. CVS on the other hand has all the client and server
code in one binary without *any* client library. This has left people that
do write GUI's for CVS with only one solution: wrap GUI over command line.
This is a *VERY BAD THING* which causes a lot of GUI software to fail if
command line is localized. Mostly because GUI software is expecting certain
output from command line and tries to parse it to see what actually
happened (did that command succeded or failed). If command line is
localized (it has coresponding command_name.mo file) GUI is sure to have
troubles understanding what command line client (for example: speaking
croatian) just sent to standard output.

I know this seem's a little bit strange for all you people there in states,
but such GUI behaviour caused some software to be ignored in europe. For
example some time ago gftp client was parsing 'ls -l' output to get idea of
what files are in given directory, instead of some dirwalk() function. Sure
it was faster to write, but client was expecting to get "total
some_integer" as first line of output. Since my $LANG was "pl_PL" (polish
enviroment) GUI just simply failed with "razem some_integer: parse
error!". If you think covering all $LANG .mo files is solution, then
Subversion GUI has to do *GREAT DEAL* of parsing which isn't actually that
easy nor elegant.

If Subversion GUI will use native libs - everything will be fine. You just
test some_function() return value, and then output text. If gettext package
is used, that text will be translated if there's coresponding .mo file. So
even if wraping over command line seems to be a lot faster/easier to do,
please *DO NOT* consider it final.

Jacek Prucia
7bulls.com S.A.
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:36:33 2006

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