https://github.com/moodymudskipper/blame
Semantic Version Control for R
https://github.com/moodymudskipper/blame
Last synced: 2 days ago
JSON representation
Semantic Version Control for R
- Host: GitHub
- URL: https://github.com/moodymudskipper/blame
- Owner: moodymudskipper
- License: other
- Created: 2023-09-13T19:38:49.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-09-16T00:13:45.000Z (over 1 year ago)
- Last Synced: 2025-04-12T20:52:12.928Z (2 days ago)
- Language: R
- Size: 2.98 MB
- Stars: 9
- Watchers: 2
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.Rmd
- License: LICENSE
Awesome Lists containing this project
- jimsghstars - moodymudskipper/blame - Semantic Version Control for R (R)
README
---
output: github_document
---```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
```# blame
Experimental!
Semantic version control for R
We can track the evolution of specific objects and their doc through commits.
Very unstable at the moment, every function and args might have changed names next time you install.
The name comes from "git blame", since this is a somewhat similar feature.
## Installation
Install with:
``` r
remotes::install_github("moodymudskipper/blame")
```## Example
```{r example, eval = FALSE}
library(blame)
hist_data <- git_history("https://github.com/moodymudskipper/unglue")
#> Transferred 705 of 705 objects...done!
#> Checked out 90 of 90 commits... done!
#> Created local repo at: /var/folders/mp/qvg2y_jx63bgk_s0xxh2zr140000gp/T//Rtmp903U62/file2531910b7ea
#> Wrangle commits
#> Collect changed files
#> Parse files
review_object_history(hist_data, "unglue_data")
```
* The `git_history()` command above fetches the history of the branch at the object
level, it takes a couple seconds to run here but for a big repo
like "https://github.com/tidyverse/dplyr" it will take a few minutes
* We can provide a branch, by default the main one is used (whatever is its name)
* `review_object_history()` takes a function name so we can explore its history,
`ascending = TRUE` by default, set it to `FALSE` to go from most to least recent