That's true, we can break API compatibility.  But I would prefer to have some sane notion up front.  Too much of JGit's own internal library API is just sort of slapped together, and the same goes true for a lot of the C command line switches and so forth.  Better if we spend a few minutes to try and learn from both experiences.  :-)