Quote:
Originally Posted by eschwartz
You just totally ignored everything I said, didn't you. 
|
Sigh. You're quite right, I did. You originally said this:
Quote:
Originally Posted by eschwartz
Or simply add the magic directly to calibre via a source checkout.
|
When I responded "Aaargh! No thanks! Then I'd have to re-insert the change and rebuild every time a new version comes out", you assumed that this just meant that I'd never used a version control system. That is not the problem: as as I said, I started using SCCS (the original source code control tool which is the great-granddaddy of all other VCSs) nearly 40 years ago, and I've used many others since then.
My reaction is more to do with: it's a really crap idea, but I was too polite to say so at the time. There is this concept in software engineering called "coupling". You're suggesting that I modify the implementation of the auto-add module to create my own personal version, and that (with the aid of a bit of scripting and wonderful tools like git) all would then be well. However, if Kovid ever touched the auto-adder in the future, it might break my code. And even if it didn't, I'd have to carry out another exercise known as "regression testing" to make sure that what used to work, still does work. My code would be what is known as "tightly" or "strongly" coupled to Kovid's code. And this is a Bad Thing.
Instead, in the same time or less than it would take me to download and install git, learn how to use it, write all the lovely scripts to make my life easy, I learned how to write a plugin; wrote one, tested it, debugged it and posted it. A plugin is what is known as "loosely" or "weakly" coupled to the main Calibre codebase; instead of relying on implementation details inside Kovid's black box, it uses a well-publicised interface which, if it changed, would not only break my code, it would also break code used by I-don't-know-how-many-thousands of people. So I'm confident that this is very, very,
very unlikely to happen.
So as I said, thanks but no thanks.