Skip to content

feat(rpkg): expose --recursive in dvs_get#204

Open
CGMossa wants to merge 1 commit into
feat/dvs-get-recursive-corefrom
feat/dvs-rpkg-get-recursive
Open

feat(rpkg): expose --recursive in dvs_get#204
CGMossa wants to merge 1 commit into
feat/dvs-get-recursive-corefrom
feat/dvs-rpkg-get-recursive

Conversation

@CGMossa
Copy link
Copy Markdown
Contributor

@CGMossa CGMossa commented May 16, 2026

AI-written details

Summary

R-binding layer of dvs get --recursive. Carved out of #154 as part of a 3-way split. Stacked on #203 (core+CLI), which holds the actual globbing change and the -r flag.

  • src/rust/lib.rs: dvs_get gains recursive: Option<bool> (default NULL) wired through to resolve_paths_for_get.
  • src/rust/Cargo.toml: dvs git pin switched from branch = "main" to branch = "feat/dvs-get-recursive-core" so this PR builds standalone before the core lands. Re-pin to main before final merge.
  • R/dvs-commands.R: thin pass-through to dvs_get_impl.
  • man/dvs_get*.Rd: regenerated. Includes the clarifying paragraph explaining the recursive flag only constrains descendants of paths passed explicitly — empty paths returns every tracked file regardless.
  • man/dvs_status*.Rd: same clarifying paragraph applied to dvs_status(recursive=) for symmetry (the existing one-line description was ambiguous on the same edge case).
  • tests/testthat/test-get.R: covers the new flag.

Test plan

  • just rpkg-install clean
  • just rpkg-document produces no diff
  • just rpkg-test passes
  • dvs_get(recursive = TRUE) walks the directory recursively in a smoke session

Sequencing

  1. Merge feat(core+cli): add --recursive to dvs get #203 to main.
  2. Rebase this PR on main, revert the Cargo.toml branch = to main, push.
  3. Then this can merge.

Follow-up

  • ui walkthrough ui/main_recursive.sh exercising the matrix → separate PR.

Drafted by Claude (claude-opus-4-7). Reviewed by the author.

R-binding layer of `dvs get --recursive`. Carved out of #154; depends
on feat/dvs-get-recursive-core (which holds the core globbing change
and the CLI flag).

- src/rust/lib.rs: `dvs_get` gains `recursive: Option<bool>` (default
  NULL) wired through to `resolve_paths_for_get`.
- src/rust/Cargo.toml: pin `dvs` to the core branch until the core PR
  lands on main. Re-pin to main before final review.
- R/dvs-commands.R: thin pass-through to `dvs_get_impl`.
- man/dvs_get*.Rd: regenerated. Includes the clarifying paragraph
  explaining the recursive flag only constrains descendants of paths
  passed explicitly — empty `paths` returns every tracked file
  regardless.
- man/dvs_status*.Rd: same clarifying paragraph applied to
  `dvs_status(recursive=)` for symmetry (the existing one-line
  description was ambiguous on the same edge case).
- tests/testthat/test-get.R: covers the new flag.

NB: builds standalone against the companion core PR's branch pin.
@CGMossa CGMossa force-pushed the feat/dvs-get-recursive-core branch from 64dd1e1 to d340c2b Compare May 17, 2026 09:17
@CGMossa CGMossa force-pushed the feat/dvs-rpkg-get-recursive branch from d034deb to 5456863 Compare May 17, 2026 09:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant