Quote:
Originally Posted by kaleissin
Use hardlinks, when possible (on the same partition, that is). When renaming an author or book, calibre could:
1) Make new dir
2) Hardlink file, which now exists simultaneously in two places
3) Delete original dir
|
Pretty sure that is what calibre does on NTFS and EXT4, and I assume HFS+. IIRC when you rename an NTFS folder that's what it does - you have to go out of your way to get it do anything other than that. And I would bet that EXT4 and HFS+ are similar - given they all share a common heritage.
Quote:
Originally Posted by kaleissin
If you want to have the same book in two places, do the same: make a hardlink to the book from the new, better place (on the same partition). Even better: use inotify to automatically create the hardlinks whenever something changes in the calibre dir.
Now of course, your OS might not have either hardlinks or inotify, but that's what I would do if I did care about the looks of the database.
|
Actually, I am not one of those who wants to access the book files in two places.
I have no technical, emotional, philosophical or ideological hangups about accessing the files via means other than the Calibre GUI in the Calibre folder hierarchy as it exists. And I have no problems ignoring those who say it shouldn't be done - although I do sometimes get a sore tongue, from biting it
The points I made about symlinks were in response to
kacir's suggestion that Calibre could have symlinks to the books in the users preferred folder structure. And when I wrote in a later post than the one you quoted...
Quote:
Turn the idea on its head - link calibres folder schema into your folder schema.
|
... I had in mind the creation of hardlink clones of Calibres folders in the preferred folder hierarchy. I also had in mind the proverb "Tell me and I’ll forget; show me and I may remember; involve me and I’ll understand." My hope was that
kacir will come up with the idea of his own accord.
I'm not sure that Calibre data is 'busy' enough to warrant the use of iNotify, besides if I were to use such a scheme I would prefer to control the synchronisation on the basis of a 'logical transaction' rather than 'file system events' - eg I have a sequence of operations that I often perform
- Edit existing format A in an editor,
- Save as Format A in the calibre folder (overwrite),
- Save as Format B in the calibre folder (new file),
- Close the file in the editor,
- Open the calibre book folder,
- Drag/drop the format B file in the book folder onto book details
,
- Close the calibre book folder,
- Convert format B file to EPUB,
- Count Pages,
- Modify,
- Eyeball check the EPUB in Calibre Viewer,
- If Eyeball check OK remove Format A and update Book Status and Last Change custom columns
- Otherwise edit Format B and repeat Convert, Count, Modify and Eyeball until OK
Would I really want all those micro changes being reflected in the 'other' folder, I don't think so. I would want to click a
Commit button after the last step.
Commit would trash whatever is in the 'other' folder and create a fresh set of hardlinks in the 'other' folder, and that's not as easy as it sounds either. Why 'trash' because a hardlink in the recycle bin will still show up in the file reference count - a reference count of 3 would confuse me.
But for me its all moot anyway, as I'm happy to use Calibre's folder structure as it is, and in whatever way I choose to do so
BR
PS - a lot of people keep their libraries on FAT thumbs, no hardlinks on FAT thumbs