Skip to content

CalDAV sync: Created filename exceeds filesystems boundaries #173

Closed
@moritzheiber

Description

@moritzheiber

I'm using Linux on an ext4 filesystem. The filename length boundaries for it are 255 characters. Unfortunately, vdirsyncer is attempting to create .ics files with filenames longer than that when I try to sync my calendars:

Copying (uploading) item 80462778A326E04EBD831336D01F2A2F8CDA0FE60196F740BA7BD88203154998040000008200E00074C5B7101A82E00800000000305B620B76CACE01000000000000000010000000 to local/default
Unhandled exception occured while syncing default.
Traceback (most recent call last):
  File "vdirsyncer/env/local/lib/python2.7/site-packages/vdirsyncer/cli/tasks.py", line 77, in sync_collection
    force_delete=force_delete
  File "vdirsyncer/env/local/lib/python2.7/site-packages/vdirsyncer/sync.py", line 180, in sync
    action(storages, status, conflict_resolution)
  File "vdirsyncer/env/local/lib/python2.7/site-packages/vdirsyncer/sync.py", line 204, in inner
    dest_href, dest_etag = dest_storage.upload(item)
  File "vdirsyncer/env/local/lib/python2.7/site-packages/vdirsyncer/storage/base.py", line 23, in inner
    return f(self, *args, **kwargs)
  File "vdirsyncer/env/local/lib/python2.7/site-packages/vdirsyncer/storage/filesystem.py", line 110, in upload
    with safe_write(fpath, 'wb+') as f:
  File "vdirsyncer/env/local/lib/python2.7/site-packages/vdirsyncer/utils/__init__.py", line 265, in __enter__
    self.f = f = open(self.tmppath, self.mode)
IOError: [Errno 36] File name too long: u'vdirsyncer/calendars/default/80462778A326E04EBD831336D01F2A2F8CDA0FE60196F740BA7BD88203154998040000008200E00074C5B7101A82E00800000000305B620B76CACE01000000000000000010000000.ics.tmp'
$ vdirsyncer --version
vdirsyncer, version 0.4.1

How would one go about fixing this?

Note: I removed some private information (mainly paths) from the output

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions