Closed aronatkins closed 2 years ago
I smoke tested this and #654 in a merged branch.
I tested the changes by:
external.packages = "packrat"
, which I assume is a requirement for working with local branches);packrat:::appDependencies(".")
and reconnect::writeManifest()
before and after running packrat::set_opts(ignored.packages = c("emo", "Rcpp", "stringr"))
;Specific to this change, I also ran the snippet of code from Aron's issue:
packrat::set_opts(ignored.packages = c("emo"), persist = FALSE)
packrat::opts$snapshot.recommended.packages(TRUE, persist = FALSE)
packrat::get_opts(c("ignored.packages"))
The code snippet from Aron's issue performed as expected.
reconnect::writeManifest()
correctly ignored packages. Previously, because of option-modification that package was performing, Packrat settings were lost, so the correct behavior indicates the change is working as expected.
I noticed that GitHub-related fields are present on all packages when any GitHub package is present in the list. I'm sure this is expected behavior — just mentioning it here in the interest of completeness. The fields
"GithubRepo": null,
"GithubUsername": null,
"GithubRef": null,
"GithubSha1": null,
were present on all packages with packrat.set_opts(ignored.packages = "")
, and with packrat.set_opts(ignored.packages = c("Rcpp", "stringr")
, but absent with packrat.set_opts(ignored.packages = c("emo", "Rcpp", "stringr")
(These checks were performed with a build from this branch alone, not from the combined branch.
The GitHub fields are probably a result of using a data frame to record all the dependencies; once one record requires a field, they all receive that value.
@toph-allen - Could you file an rsconnect issue to track the presence of those null-value fiends? They're harmless, but maybe worth trimming.
That makes total sense as to the cause.
I'll add it to my list of issues to file :)
[Edit] I'll just file a quick issue now.
fixes #655