Library syncing vs rebuilds
PhotoStructure has several strategies to ensure your library matches your filesystem.
đź©ł Briefly đź”—
A “sync” focuses on your filesystem. Sync updates your library with changes made to your filesystem.
A “rebuild” focuses on what’s already in your library. Rebuild updates your database to reflect improved PhotoStructure algorithms.
🔍 Library syncs 🔗
PhotoStructure runs “sync” jobs for the directories in your scan paths, and if you’ve enabled automatic scanning, all your mounted volumes.
Synchronization has 3 steps:
-
The directory is recursively scanned for files that might be eligible for being imported into your library (see this post for details). The progress bar says “Scanning…” during this step.
-
Those eligible files are individually examined. Only those files (or their sidecars) that have changed since the last sync will be re-imported. If you’ve opted for automatic organization, new files and sidecars will be copied into your library. The progress bar says “Processing…” during this step.
-
The prior contents of the directory, according to your PhotoStructure’s library database, is then scanned, and missing files are handled appropriately.
PhotoStructure is designed to handle very large libraries. Don’t worry about stopping PhotoStructure in the middle of a sync! PhotoStructure will pick up where it left off as soon as you restart.
PhotoStructure runs a sync for all volumes daily, but you can manually start a resync via the navigation menu.
PhotoStructure also monitors your volumes, and as new volumes are mounted, it will sync them automatically.
🔬 Library rebuilds 🔗
Your library may be automatically rebuilt when you upgrade to a new version of PhotoStructure that improves heuristics for de-duplication, improves metadata inference, or adds new tagging curators.
Rebuilds are expensive! They may require:
- re-extraction of metadata
- recalculation of image hashes
- regeneration of previews
- re-transcoding of any missing videos
- re-aggregation of assets
Rebuilds should not be necessary except after version upgrades.