Branko =?iso-8859-2?Q?=C8ibej?= <firstname.lastname@example.org> writes:
> 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.
> 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
> 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 18.104.22.168.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
> IMHO we should find some other way to name private symbols. Perhaps a
> different prefix (e.g., svnp_) would be better for that purpose.
The two underscores are not about preventing name conflicts, they're
about reminding humans that a given object is not part of the
published interface, despite its appearance in a public place.
> 2) This is from subversion/libsvn_subr/svn_parse.c:
> svn__my_readline (apr_file_t *FILE, svn_string_t *line, apr_pool_t *pool)
> Hmmm... and it indirectly includes <stdio.h>, too ...
Agree, will fix.
> 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?
Yes, upgrade and try again; if you still have the problem, please let
Received on Sat Oct 21 14:36:06 2006