-----Original Message----- From: Eric Kuzmenko [mailto:eric.gralco@...400...] 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 [1]: " 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 4. Build. 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. 7. ...
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! :-)
Cheers, Johan
[1] http://wiki.inkscape.org/wiki/index.php/Google_Summer_Of_Code#The_.22two _patches.22_rule