fix(files): upsert uploads by default + dedupe project root (#45) #15

Merged
eSlider merged 1 commits from fix/docs-upsert-dedupe into main 2026-08-31 11:33:51 +01:00
Owner

Перенос GitHub PR #45 в канон (Gitea). GitHub = showroom, PR живут только на Gitea.

Что

  • Upsert по умолчанию: все upload-пути (docs put-md|put-txt|put-xlsx, projects files upload) по умолчанию заменяют существующий stem|ext (--replace default true).
  • No-clobber: --no-replace / --replace=false → ErrFileExists при занятом имени.
  • Dedupe: сканирует projectFolder root (не только подпапки) — mergeProjectRootForDedupe; --allow-duplicate для старого append-only поведения.
  • Фикс put-md/put-txt игнорировавших --replace без --folder (project root).

Проверка

  • go build/vet/gofmt — OK
  • go test -race (File/Dedup/Stem) — OK
  • gitleaks — no leaks
  • Live по описанию автора: Project Documents folder: list, upload, download, rename, delete

Usage:
oo projects files [command]

Available Commands:
delete Permanently delete file(s) from Documents
download Download file bytes via viewUrl (default path: ./

Перенос GitHub PR #45 в канон (Gitea). GitHub = showroom, PR живут только на Gitea. ## Что - **Upsert по умолчанию**: все upload-пути (docs put-md|put-txt|put-xlsx, projects files upload) по умолчанию заменяют существующий stem|ext (--replace default true). - **No-clobber**: --no-replace / --replace=false → ErrFileExists при занятом имени. - **Dedupe**: сканирует projectFolder root (не только подпапки) — mergeProjectRootForDedupe; --allow-duplicate для старого append-only поведения. - Фикс put-md/put-txt игнорировавших --replace без --folder (project root). ## Проверка - go build/vet/gofmt — OK - go test -race (File/Dedup/Stem) — OK - gitleaks — no leaks - Live по описанию автора: Project Documents folder: list, upload, download, rename, delete Usage: oo projects files [command] Available Commands: delete Permanently delete file(s) from Documents download Download file bytes via viewUrl (default path: ./<title>) list List files (and optionally folders) attached to the project rename Rename a file (include extension in NEW_TITLE) upload Upload file(s) into the project's Documents folder Flags: -h, --help help for files Global Flags: -o, --output string output format: table|json (default "table") Use "oo projects files [command] --help" for more information about a command. находит vip-itinerary дубль в folder 489 Связано: #45 (GitHub mirror).
eSlider added 1 commit 2026-08-31 11:32:37 +01:00
fix(files): upsert uploads by default and dedupe project root
Release Please / Release Please (push) Skipped
Release / GoReleaser (push) Skipped
Tests / Secret scan (gitleaks) (push) Skipped
Tests / Test (Go 1.25) (push) Skipped
Tests / Test (Go stable) (push) Skipped
Tests / Secret scan (gitleaks) (pull_request) Successful in 4s
Tests / Test (Go stable) (pull_request) Successful in 25s
Tests / Test (Go 1.25) (pull_request) Successful in 27s
24ca144b22
OnlyOffice allows duplicate stem|ext in the same folder; agents hit this
via projects files upload and put-md without --folder. Default all upload
paths to replace-by-stem, add no-clobber via --no-replace, and scan
projectFolder in dedupe.

Co-authored-by: Cursor <cursoragent@cursor.com>
eSlider merged commit 61da2fb88b into main 2026-08-31 11:33:51 +01:00
eSlider deleted branch fix/docs-upsert-dedupe 2026-08-31 11:33:52 +01:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: eSlider/go-onlyoffice#15