Search code examples
rgitgithubpackagedevtools

How do I edit an R package from GitHub that has already been cloned?


I have an R package, created by someone else that I have been made a collaborator on, that I want to work on and develop. I've already cloned the repository to my local computer through the Create Project > Clone from GitHub route in RStudio, and since then I've been editing the scripts, but not working with it as a package. As in, I had been adding functions and working on a Shiny interface, but not following any R package development rules (loading packages directly into the .R files, not updating the NAMESPACE, using roxygen2 conventions, etc.).

Everything I've read mentions devtools::install_github, but I don't want to install and use it, I want to edit it like I've been doing. I also want it to still be connected to Git (so I can continue to commit and pull from the remote server, once my collaborators make edits). I've tried devtools::load_all() and devtools::document(), but it gives me this warning:

Error in FUN(X[[i]], ...) : 
  bad restore file magic number (file may be corrupted) -- no data loaded
In addition: Warning messages:
1: In readChar(con, 5L, useBytes = TRUE) :
  truncating string with embedded nuls
2: file ‘file_example.rda’ has magic number 'X'
  Use of save versions prior to 2 is deprecated 

Do I need to delete my local copy and do something different to work with it as a package so that the functionality of roxygen2 and the NAMESPACE documentation will work correctly? Or is there an obvious reason for this error/something I'm missing about how to work with it as a package, how it is currently?

Thanks!


Solution

  • It looks like file_example.rda is corrupt

    Can you just load it in R and check what it contains?

    You could try:

    tools::resaveRdaFiles( 'file_example.rda', compress='xz' )
    

    And see if that saves it in a way that is acceptable?