mirror of
https://github.com/cooperspencer/gickup
synced 2026-08-31 00:46:32 +02:00
* feat(destination): add WebDAV destination Add a stdlib-only WebDAV destination mirroring the s3/azureblob flow: bare-clone into a temp dir, optional zip, upload via HTTP PUT with Basic auth, and prune stale remote files via PROPFIND/DELETE. - types: WebDAVRepo struct, Destination.WebDAV field, Count() - webdav: new package (UploadDirToWebDAV, DeleteObjectsNotInRepo) - main: dispatch loop on par with azureblob - conf.example.yml + gickup_spec.json: document the new destination * feat: auto retry Auto retry network errors and some situations. Servers that disable Depth: infinity (Sabre/DAV, Nextcloud and others answer 400/403/501) failed listing and could not prune stale files. Try infinity once, fall back to recursive PROPFIND walk on rejection. * refactor: use gowebdav client Classify retry errors and make backoff interruptible.