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

Yet another newbie

From: Branko Čibej <branko.cibej_at_hermes.si>
Date: 2000-08-05 05:52:26 CEST

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

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.