1. Bitbucket Website
  2. Public Issue Tracker
  3. master

Issues

Issue #5553 wontfix

epub repositories?

chris lindensmith
created an issue

Hi - I'm curious if you'd be interested in adding a code type of "epub" for repositories. It's very similar to html/css, but is a particular file structure where a bunch of html, css, and xml files are zipped up into a package. I'm a small publisher (bitingduckpress.com) and we're finding that version control for epubs during book development and editing is tricky.

I'm mostly on the technical side of things, and am trying to move the word-side of things to using git. We're just starting to do git version control using html/css (what all the epubs start out as) but it would be a nice feature to be able to stick an epub in a repo and track changes to the individual files. It's probably not a big market for you right now, but it's got the potential for growth, as epub workflow and version control is pretty primitive right now. A lot of people use Adobe Indesign, which is actually much harder than working in a text editor and gives worse results (worse looking epubs with basic features missing). We typically are working on 5-10 titles at a time, with 3-4 people passing around edits. It's the kind of thing that I'd eventually put together for myself, but have my hands full with the rest of building/maintaining the web store and running the business. It's probably mostly a change to your source browser, so I'm flagging it there.

Thanks for at least reading this, and for offering a nice online service.

chris lindensmith

Comments (5)

  1. Charles McLaughlin

    Hi Chris,

    The core idea here is a common question we receive. Committing binary files such as zips to a Git repo will cause you problems eventually. In most cases even a little change to a binary file will change all the contents. Therefore, diffing and merging is useless as Git will store a completely separate copy even if you make a small change. Your repository will grow larger and larger and it will become painful to use.

    If you can, I would highly recommend only storing your source html, css, and xml in a repository. A few images and media assets are OK, but don't store the zips in the repo. Perhaps you can use some sort of build system to generate the zips and maybe even version them there.

    I hope this helps.

    Regards,

    Charles

  2. chris lindensmith reporter

    We weren't planning to store the zips as zips in the repo-- it's nearly useless to do that (aside from taking a ton of space), as you can't see any of the changes, which is most of the value of using bitbucket vs just my own server. The goal would be to have something unzip them, find the diffs, and then store the diffs. But as you say, Git itself doesn't really support that kind of thing, and we'd be better off putting together a build system where we generate the epub, unzip it, commit the unzipped stuff (which is html/css/xml as a repo, track changes on that stuff, and then zip it back up later when we're ready to ship. Since 90% of the editing is done just on html before turning it into an epub, we'll stick to that as we work out the workflow, and deal with the zipped epub control separately.

  3. chris lindensmith reporter

    (Reply via ch...@bitingduckpress.com):

    Thanks for the quick reply!

    We weren't planning to store the zips as zips in the repo-- it's nearly useless to do that (aside from taking a ton of space), as you can't see any of the changes, which is most of the value of using bitbucket vs just my own server. The goal would be to have something unzip them, find the diffs, and then store the diffs. But as you say, Git itself doesn't really support that kind of thing, and we'd be better off putting together a build system where we generate the epub, unzip it, commit the unzipped stuff (which is html/css/xml as a repo, track changes on that stuff, and then zip it back up later when we're ready to ship. Since 90% of the editing is done just on html before turning it into an epub, we'll stick to that as we work out the workflow, and deal with the zipped epub control separately.

    Thanks, Chris

  4. Log in to comment