Hello everybody,
My name is Branko Čibej (that's /Ccaron ibej for those without latin-2,
pronounced Chee-bey). I've been programming for about 15 years now,
although for more than half that time It was more of a hobby, not a
"real" job. I've made a few contributions to open source projects (a few
bits in Samba and GCC) and I'm an "active lurker" on the GCC mailing
lists, but I haven't really participated in an open source project
otherwise.
More to the point, for four years (ending about a year ago), I worked on
a project that built a file server on top of a proprietary configuration
management system. This gave me a few insights into the problems of CM
system design, and incidentally---since our source was CVS-controlled)---
into the strengths and weaknesses of CVS.
(In fact, lately I've been playing around with ideas and jotting down
designs for a CVS replacement. Good job you beat me to it, or it would
probably never have got off the ground, like a lot of my meta-projects :-)
Anyway, I hope I can contribute in some small way to Subversion. For now,
I'll take up Mr. Fogel's challenge and dig into the Vdelta/VCDIFF library.
It looks like an interesting problem with a lot of potential for generating
some nice code and the required percentage of horrible bugs.
Oh, yes: I'll be working on Solaris 2.6 initially, but I use HP-UX 10.20,
AIX 4.3, Linux and Win NT/2000, so I'll be able to do some cross-platform
testing.
Brane
(no, not pronounced "brain")
P.S.: O.K., now that I've introduced myself and volunteered to do
something, I guess I'm allowed to gripe a bit, too :-)
1) The HACKING file says:
* Signify internal variables by two underscores after the prefix.
That is, when a symbol must (for technical reasons) reside in the
global namespace despite not being part of a published interface,
then use two underscores following the module prefix. For
example:
svn_fs_get_ver_prop () /* Part of published API. */
svn_fs__parse_props () /* For internal use only. */
That's fine iff we can guarantee that no symbol containing two consecutive
underscores will ever be seen by a C++ compiler, a guarantee I think we
can't safely make. Quoting from the C++ standard, sec 7.4.3.1.2 para 1:
-- Each name that contains a double underscore (__) or
begins with an underscore followed by an uppercase
letter (2.11) is reserved to the implementation for any
use.
IMHO we should find some other way to name private symbols. Perhaps a
different prefix (e.g., svnp_) would be better for that purpose.
2) This is from subversion/libsvn_subr/svn_parse.c:
apr_status_t
svn__my_readline (apr_file_t *FILE, svn_string_t *line, apr_pool_t *pool)
^^^^
Hmmm... and it indirectly includes <stdio.h>, too ...
3) Oh, yes: something seems to be wrong with the CVS repository. I get
expat_lite twice on checkout, and conflict warnings about .cvsignore,
even though I haven't modified anything. Perhaps it's due to an empty
"D" line I get at the end of expat-lite/CVS/Entries, which is really
weird. I'm using CVS 1.10.3; should I upgrade that?
--
Branko Čibej <branko.cibej@hermes.si>
HERMES SoftLab, Litijska 51, 1000 Ljubljana, Slovenia
voice: (+386 1) 586 53 49 fax: (+386 1) 586 52 70
Received on Sat Oct 21 14:36:06 2006