Git is storing a full copy of icons for every change (almost 1mb increase to the repo size for every icon edit).
Specifically:
./release/datafiles/blender_icons16.png
./release/datafiles/blender_icons32.png
./release/datafiles/prvicons.png
From SVG source:
./release/freedesktop/icons/blender_icon_source.svg
./release/datafiles/prvicons.svg
Ideally we could use RSVG and render the SVG as a build step, but unfortunately RSVG doesn't support mask's in a way thats compatible with inkscape.
http://sourceforge.net/mailarchive/message.php?msg_id=31778009
So for now I would propose to store each icon file be moved into its own directory and split into uncompressed bitmap files (as an automated python script), Then on build the icons can be re-combined into a single PNG.
This way we can make a change to one icon without having to store a new copy of the entire file each time.
Workflow for creating icons
Basically the same as it is now...
- Edit the SVG
- Run release/datafiles/blender_icons.sh
Rather then committing the png, commit ./release/datafiles/blender_icons(16/32)/ directory which contains pixmaps
Workflow for building
Basically the same as it is now...
... internally there would be a program like datatoc that would take files from ./release/datafiles/blender_icons(16/32)/ and create a PNG in the build path.