You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There's no way to mirror a tree. cp -R exists but is one-shot and one-directional (remote → local only), re-downloads everything on every run, and has no delete/prune.
Proposed: onedrive rsync [-n] [-r] [--delete] SOURCE DEST, using the same ./ and :/ prefixes as cp/mv.
GET /drive/root/view.delta for cheap "what changed remotely", with the delta token persisted between runs
fileSystemInfo set at upload time so local mtimes survive the round trip
The last two are internal to this command. #43 and #52 are closed as not planned because the user-facingdelta and touch verbs aren't wanted — that doesn't block using the same endpoints as plumbing here.
Open questions worth settling before implementing:
one-way (local → remote, remote → local) only, or bidirectional?
--delete semantics, given remote deletes are recursive and land in the recycle bin
where the delta token lives — alongside the auth token in $XDG_STATE_HOME?
Starting one-way with -n/--dry-run and no --delete would already cover most of the value.
There's no way to mirror a tree.
cp -Rexists but is one-shot and one-directional (remote → local only), re-downloads everything on every run, and has no delete/prune.Proposed:
onedrive rsync [-n] [-r] [--delete] SOURCE DEST, using the same./and:/prefixes ascp/mv.Building blocks:
cp_paged()/findItems()GET /drive/root/view.deltafor cheap "what changed remotely", with the delta token persisted between runsfileSystemInfoset at upload time so local mtimes survive the round tripThe last two are internal to this command. #43 and #52 are closed as not planned because the user-facing
deltaandtouchverbs aren't wanted — that doesn't block using the same endpoints as plumbing here.Open questions worth settling before implementing:
--deletesemantics, given remote deletes are recursive and land in the recycle bin$XDG_STATE_HOME?Starting one-way with
-n/--dry-runand no--deletewould already cover most of the value.