'Add a new pack to this object store.
Because this object store doesn\'t support packs, we extract and add the
individual objects.
:return: Fileobject to write to and a commit function to
call when the pack is finished.'

def add_pack(self):

    f = BytesIO()
    def commit():
        p = PackData.from_file(BytesIO(f.getvalue()), f.tell())
        f.close()
        for obj in PackInflater.for_pack_data(p, self.get_raw):
            self.add_object(obj)
    def abort():
        pass
    return (f, commit, abort)
