On Fri, 31. Aug 03:35, Johan Hattne wrote:
Since cctbx is released in the form of snapshots, I guess this means that version numbers would indeed have to be updated on any commit that modifies library code. OK but snapshot (nightly) builds in my opinion are not considered as public releases. I'd just increment the numbers before a public and stable release. This should be communicated and documented somehow so it's not forgotten and it'd have the positive side effect that users can easily look into the nightly changelog (or commit log) and see if the interface is going to change in the next public release.
My proposed patch works like this: In the specific SConscript were the shared library is build you just set SHLINKFLAGS for that environment. So somebody working on a new a changed interface could just append "-version-info 1:0:1" to SHLINKFLAGS and maybe make a small comment: # Changed interface from 0:0:0 to 1:0:1 (with backward compatibility) # WORK in progress ....code here.... Then during development anyone else can ditch the backward compatibility change the comment and code to: # Finishing work on interface from 0:0:0 to 1:0:0 (no more backward compatibility # for public release)! ....code here.... Or you could just set goals for the next public release saying that the there's going to be a new interface but without backward compatibility as a developers guideline. I don't know how you organize yourself so this is up to you.