git2rdata
An R package for storing and retrieving data.frames in git repositories.
git2rdata keeps sharpening one idea: a data frame that produces a readable git diff.
◆Recent moves
- 4mo ago
Column conversions recorded in metadata and reversed on read
`write_vc()` gains a `convert` argument that applies column conversions before storage and records them in the metadata, and `read_vc()` reverses them on the way back. The third consecutive release to move a storage decision out of user code and into the metadata sidecar, where it travels with the data through git.
View source ↗ - 8mo ago
Data frame metadata now round-trips through storage
Metadata attached to a data frame survives `write_vc()` and comes back from `read_vc()`, alongside handling for empty factors and for multiple commits landing within the same second. The commit-timestamp fix matters more than it reads — `recent_commit()` is how the package locates a stored object's history.
View source ↗ - 1y ago
Significant digits become an explicit storage option
A `digits` argument on `write_vc()` and `meta()` sets how many significant digits numeric columns are stored with. For a package whose value is diff quality, controlling float precision at write time is the difference between a stable file and one that churns on every regeneration. Empty datasets stored with `split_by` also read back correctly now.
View source ↗ - 1y ago
update_metadata() for editing a stored object's description
Adds `update_metadata()` so an object's description can be revised without rewriting the data. The first of the metadata-focused additions that the 0.5.x line then built out.
View source ↗ - 4y ago
Non-optimised files switch to CSV; verify_vc() added
Non-optimised output moves from tab-separated to comma-separated on the reasoning that people recognise `.csv` as a data file — a legibility argument, consistent with a package that exists so humans and code review can read stored data. `verify_vc()` adds a contract check that required variables are present before returning the data.
View source ↗ - 4y ago
Standardised sorting via icuSetCollate()
A one-line refinement of the locale-independent ordering established back in 0.2.0, now using `icuSetCollate()`. Invisible in use, but it is the mechanism that keeps a row reordering from showing up as a whole-file diff.
View source ↗