> -----Original Message-----
> From: Eric Kuzmenko [mailto:eric.gralco@...]
> Sent: Wednesday, January 26, 2011 00:16
> To: Inkscape-devel
> Subject: Re: [Inkscape-devel] GSoC 2011 announced
> So for students to even be considered, let alone accepted
> accepted, they must first have commit access to the repo? I
> didn't think you had to be completely familiar with the code
> since you are a 'student'. Please help me with this because I
> want to apply but haven't had the time to go through all the
> doxygen docs and become familiar with the code yet.
See what I wrote :
" Inkscape is a large project, and you really should not
try to understand all the code. Many (all?) developers
know only parts of the program code! "
I think our doxygen docs are in bad shape; making it better
would be a GSoC project itself!
Here the story of how I got involved, *without* reading any
documentation on Inkscape's code:
For most bugfixes, what you should do is search all code files
for a certain string that is related to the bug. This way you
localize where the bug is likely to be. Read the code around the
string and you are well on your way to fix it.
My first patch was the "Save a copy..." menu entry:
1. "Save as..." is very similar to the functionality what I want.
2. Search all code files for string "Save as..."
2.a I can't find it... hmm...
2.b Search for statusbar text "Save document under a new name"
3. Found it! Hey this file looks like it defines the menus. Let's
add a "Save a copy..." thingie similar to "Save as...".
3.a Search code for anything related to what I find in the
file I found (in this case, FileSaveAs, SP_VERB_FILE_SAVE_AS),
and make a smart copy of that for SaveACopy
5. There is my menu item! Click on it... ah, it opens the
save as dialog. Good.
6. The menu entry in the code file I just changed points to a
certain "VERB", which leads to a function "sp_file_save_as";
so copy that function, rename to "sp_file_save_a_copy", etc.
I did not understand much about Inkscape's code, I didn't need to.
What I want to say is: don't start with reading doxygen or
documentation. Start with fixing something small, or add/improve
simple functionality that is very similar to what already exists.
Once you have something that works, you can always send it for
code-review to the mail list! :-)