pimutils / pimutils/vdirsyncer

status/…items files get updated timestamps, while their content does not change

Open
#984 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
1.9k
Forks
185
Avg merge
11h 49m
Merged PRs (30d)
1

Description

When I do CalDAV → Local filesystem (conflict_resolution = "a wins" , collections= null) one way synchronization, the timestamp of the status/x.items file does not change, if the content has not changed.

When I do HTTP → Local filesystem (conflict_resolution = "a wins" , collections= null) one way synchronization, the timestamp of the status/x.items file does change, when the source does not change. To be precise, in each iCalendar file the only thing which changes is DTSTAMP (this is how Google serves each iCalendar GET request). While the timestamp of the file status/x.items does change, its content does not change.

This problem report about now writing to the status/x.items Sqlite3 database, when at the end the content of the database does not change.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Trace the one-way synchronization paths for CalDAV → Local filesystem and HTTP → Local filesystem, focusing on writes to status/x.items. Compare how unchanged content and changing DTSTAMP affect the Sqlite3 database timestamp. Done means an unchanged database is not written or timestamped in either path.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, sqlite
Domain
databases
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.