[Bug 8566] Spotlight comments (extended attributes) are not synced

samba-bugs at samba.org samba-bugs at samba.org
Thu May 2 04:27:08 MDT 2013


https://bugzilla.samba.org/show_bug.cgi?id=8566

--- Comment #11 from Stefan Nowak <p.org at gmx.at> 2013-05-02 10:27:05 UTC ---
Apple Developer Bug Reporting Team replied today:

Engineering has determined that this issue behaves as intended based on the
following information:
Comments are stored primarily in the .DS_Store files and mirrored to Spotlight
for searching. xattrs are not the primary storage.
This is the effect of attributes being stored externally, and command line
tools not being aware of them.

---

Now I realize why my rsync failed:
I had used --exclude=".*" which excluded .DS_Store from being synced!


Finder's metadata handling being only .DS_Store-aware and mostly ignoring
xattrs poses the following problems:

PROBLEM 1: It is neither fish nor fowl

a) The labels ARE considered from xattrs, more precisely at least ALSO
considered from xattrs.
Proof: rsync xattr sync results immediately visible in Finder.

b) Whereas the comments are considered SOLELY from .DS_store.
Proof: Rsync results not visible in Finder.
Workaround: See comment 10

PROBLEM 2: Partial file+metadata syncs are IMPOSSIBLE by design without
.DS_Store merging capabilities

Even if I would include .DS_Store files in my sync, synching a folder partially
MUST fail by design. Why?

If metadata would be per file, it is transported correctly on whatever
selection of files I sync over.
If metadata is per one .DS_Store per folder for multiple files, and you sync
only a few files plus the .DS_Store of that folder, you OVERWRITE the .DS_Store
on the destination.
Then the metadata for the files being both in the source and destination are
correct, but those only at the destination LOOSE their metadata. So a sync
process must be .DS_Store aware and MERGE .DS_Store from source and
destination, which practically EXCLUDES MOST 3rd PARTY apps from properly
syncing metadata!!!

What is my application: My entire projects are too large for my internal disk.
Therefore I eventually keep them on an external disk. The actual projects are
always on my internal disk, and I rsync them over additively (without the
option "delete on destination") to my external disk every here and then. If
eventually done, I sync a last time, and then erase on my internal disk.
Therefore my source (internal HD) is a subset of my external disk. And syncing
only parts over with a .DS_Store unaware tool would copy over only the synced
files' metadata but ERASE the metadata of all other files on the destination
(external HD).

EXAMPLE:
Source: 3, 4 -- all with metadata
Destination: 1, 2, 3, 7, 8 -- all with metadata
Outcome: If I sync over 3+4 with a DS_Store unaware sync tool, then 3 gets its
metadata updated, 4 gets copied freshly, and all others (1, 2, 7, 8) loose
their metadata!

-- 
Configure bugmail: https://bugzilla.samba.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the rsync mailing list