omnydrive 1.1.2
omnydrive: ^1.1.2 copied to clipboard
Distributed file & git drive synchronization in pure Dart. Publish, mount, clone and sync directory and git drives across endpoints coordinated by a hub, with explicit conflict detection and an offici [...]
1.1.2 #
- Fixed: syncing a mount could silently delete local-only changes. A pull
overwrites/deletes local files to match the origin, and
syncMountpreviously pulled whenever it was not pushing — so a read-only mount (or any mount whose local copy had diverged) would discard a newly created or edited file instead of preserving it.syncMountnow only pushes when the mount is read-write and only the local side changed; any other divergent case raisesConflictDetectedException(via the newConflictDetector.detectForPull) rather than destroying local work.- Added
ConflictKind.localDivergencefor a local copy that diverged from the baseline but cannot be published.
- Added
1.1.1 #
-
ManifestBuilder:- Updated default
ignoredDirsto include.dart_tooldirectory. - Documentation updated to reflect the addition of
.dart_toolto ignored directories.
- Updated default
-
Dependency updates:
args: ^2.5.0 → ^2.7.0crypto: ^3.0.3 → ^3.0.7http: ^1.2.0 → ^1.6.0path: ^1.9.0 → ^1.9.1shelf: ^1.4.1 → ^1.4.2lints: ^6.0.0 → ^6.1.0test: ^1.25.6 → ^1.31.1
1.1.0 #
- Added: per-file progress events during directory sync.
DirectorySynchronizer.applynow emits atransferringProgressEventafter each file is written or deleted (in both push and pull directions), carrying the path (message), cumulativebytes, andcompleted/totalcounts — enabling consumers to render live progress. Backward compatible: the start anddoneevents are unchanged andprogressstays optional.
1.0.0 #
First stable release. Promotes the complete vertical slice — directory and git
providers, the hub + content HTTP servers, the OmnyClient SDK and the
omnydrive CLI — to a stable API, with content-addressed conflict detection
throughout.
- Domain model: drives, mounts, endpoints, sync refs, conflicts, capabilities.
- Providers: directory (HTTP-mirrored) and git (via the
gitCLI). - Application layer:
LocalDriveHubandLocalDriveEndpoint(publish, clone, sync) with content-addressed conflict detection. - HTTP transport: hub server, endpoint content server, and matching clients
(
HttpDriveHub,HttpContentSource). - Client SDK:
OmnyClientand thepackage:omnydrive/omnydrive_client.dartsurface. omnydriveCLI:serve,serve-content,login,publish,clone,sync,mounts,drives, with file-backed per-endpoint state.- In-memory and file-backed persistence implementations.
- Runnable examples: core round-trip, conflict detection & resolution, read-only mirror, client SDK, and a git drive walkthrough.
0.1.0 #
Initial release.
- Domain model: drives, mounts, endpoints, sync refs, conflicts, capabilities.
- Providers: directory (HTTP-mirrored) and git (via the
gitCLI). - Application layer:
LocalDriveHubandLocalDriveEndpoint(publish, clone, sync) with content-addressed conflict detection. - HTTP transport: hub server, endpoint content server, and matching clients
(
HttpDriveHub,HttpContentSource). - Client SDK:
OmnyClientand thepackage:omnydrive/omnydrive_client.dartsurface. omnydriveCLI:serve,serve-content,login,publish,clone,sync,mounts,drives, with file-backed per-endpoint state.- In-memory and file-backed persistence implementations.
- Runnable examples: core round-trip, conflict detection & resolution, read-only mirror, client SDK, and a git drive walkthrough.