Looking for a chance to help out with Subversion? Then you've come to the right place...
This page lists tasks that are well-defined and self-contained. You don't need broad or very detailed knowledge of Subversion's design to take on one of these tasks, you just need a pretty good idea of how things generally work, and to have read the coding guidelines in the HACKING file. The idea is that each task is something that a volunteer could pick off in a spare evening or two.
If you'd like to take on one of these tasks, notify the other developers by mailing dev@subversion.tigris.org (of course, you should be subscribed to that list) and start coding -- we'll put your name next to the task here so people can see who's working on what. If you have questions as you go, ask the dev list, and send the patch there when ready.
Here are the tasks:
This is issue #406. It involves tweaks across quite a bit of code, but they're fairly minor tweaks. Also, it can be done incrementally, there's no particular reason why the whole change needs to happen at once. Estimate: one solid evening, or two at the most. Here's the description:
There are many places where, for historical reasons, we are using
svn_stringbuf_t to pass or return constant char * data. We could
just use svn_string_t, or in some instances even go straight to
const char *. I will put "### todo" notes, referencing this issue,
in the code at some of these places. See in particular the
declarations of
svn_fs_revision_prop()
svn_fs_revision_proplist()
svn_fs__get_prop()
svn_fs__make_prop_hash()
Really, it is questionable that we even need to use svn_string_t
for property names. I believe everyone agreed informally that
const char * would be fine, and usually more convenient for
callers. If so, the fix for this issue is something like:
1. Change all property getting functions to take a const char
*name, and return by reference svn_string_t *value.
2. Change all property setting functions to take const char
*name and svn_string_t *value.
Comments? This affects not just svn_fs.h property interfaces, but
svn_delta_edit_fns_t in svn_delta.h as well, and probably some
stuff in svn_wc.h.
-Karl
------- Additional Comments From Karl Fogel 2001-07-02 09:37 -------
Note that making this change probably implies writing
svn_string_ncreate() and all that good stuff, or else doing it
inline. All our old svn_string_* functions became svn_stringbuf_t
functions when we split the data type, and now there is a paucity
of svn_string_t functions.
This is issue #407, filed by Ben, the description is:
$ svn help co
checkout (co): Check out a working directory from a repository.
usage: checkout REPOSPATH1 [REPOSPATH2 REPOSPATH3...]
Notice that there's no mention of the fact that it accepts
the {-r, -d, -D} flags. We can either just throw that information
into the usage command, or perhaps somebody can add an organized
system for specifying exactly which args a subcommand can accept.
This system would also be able to *report* which args a subcommand
can accept -- and thus be used in the usage messages.
This is a "bite sized task" for a volunteer.
This message from Branko summarizes the issues pretty well; read it, then move back and forth in the thread to get some context and a sense of what people see as the solution domain right now:
http://subversion.tigris.org/servlets/ReadMsg?msgId=31147&listName=dev
The first argument of svn_parse_date() should be const. However, because the function originates in getdate.y and that parameter is related to the global yyInput variable, there may be more to this change than just adding the qualifier...