Thanks to Ott and others, I now have separate GitHub repositories, one for each of the packages combined in the Ecdat R-Forge project.  In case it might help others in the future, I will summarize here key things I did to make this transition:

            1.  I first copied the "Ecfun" package into its own directory on my local computer and created a separate GitHub repository for that.  I lost the history in doing so, but I can live without that history.


            2.  I moved the contents of "~Ecdat/pkg/Ecdat" to "~Ecdat" and deleted the now-empty ""pkg/Ecdat" subdirectory.  I first tried to do this in RStudio, but wasn't sure it was done correctly.  So I used "“git reset --hard HEAD” to revert all that. Then I copied the material in Finder on my Mac, so I could see what I was doing.  Then I did "git add" of the individual files and folders in a Terminal plus "git rm -r pkg" to delete


            3.  Then I set up automatic checking for both packages using Travis CI as described by Hadley's "R Packages" (http://r-pkgs.had.co.nz/check.html).  [GitHub complained that ".travis.yml" didn't belong there.  Danny Smith on Rd told me to add it to ".Rbuildignore".  I found it was already there, but ".Rbuildignore" was not part of the repository.  Now it is.]


            4.  Along the way, GitHub kept asking for my username and password, even though I had established SSH authentication.  I traced the problem to the ".git/config" that said, "url = https://github.com/sbgraves237/Ecdat".  I changed that line to read "url = https://sbgraves237:passw...@github.com/sbgraves237/Ecdat"; (where "password" is my GitHub password, which I had to change to make it work there, because it included "@" ;-)  oops.


            5.  I also had problems with "Warning: ‘inst/doc’ files":  Those had not existed in the R-Forge versions but appeared somehow in migrating them to GitHub.  I deleted them in a Terminal with "git rm -r inst/doc".  After "git commit" and "git push", I found they had been deleted from the GitHub repository but not my local computer, so I deleted them locally -- without any apparent side effects.


      Thanks again,
      Spencer Graves


On 2019-07-03 23:30, Spencer Graves wrote:
        Thanks so much for your help.


        Now your "git push -u origin master" was "![rejected]", after
creating a new SSH and after your "git clone" and other "git remote
rename ..." commands seemed to work:


$ git clone...@github.com:joshuaulrich/tmp-ecfun.git  Ecdat
# Cloning into 'Ecdat'...<snip> done.

$ cd Ecdat/
$ git remote rename origin tmp
$ git remote add originhttps://github.com/sbgraves237/Ecdat
$ git push -u origin master
#[Username & password OK]
Tohttps://github.com/sbgraves237/Ecdat
   ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'https://github.com/sbgraves237/Ecdat'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
SpenceravessMBP:Ecdat sbgraves$


        Suggestions?
        Thanks again,
        Spencer Graves


On 2019-07-01 01:05, Ott Toomet wrote:
Apparently you created id_rsa key pair with a passphrase. Passphrase
is like an additional password protection layer on your ssh key.  I
don't know how did you create it.  But you can always create a new one
(you should delete the old one before you create a new one) using the
shell command 'ssh-keygen'.  It asks for a passphrase, just push enter
for an empty passphrase (twice).  You also have to update the ssh
public key (id_rsa.pub) on github by supplying the new public key
(id_rsa.pub).

There are some implications you should be aware of:
* if you delete id_rsa*, you cannot use any ssh authorization that
relies on this key any more (that's why you have to update on GH).
>From the what you write (... created 2 days ago) I guess you do not use these keys elsewhere but I may be wrong.
* if you supply empty passphrase, you bypass the optional extra
security layer.  I think this is OK for open source software
development on your personal computer but your preferences/situation
may differ.
* You cannot use the same keys with passphrase if they are created
without one.  This is likely not an issue, but if it turns out to be a
problem, you can either add passphrase to the default keys, or create
another set of keys, passphrase protected.

Cheers,
Ott


On Sun, Jun 30, 2019 at 9:51 PM Spencer Graves
<spencer.gra...@prodsyse.com  <mailto:spencer.gra...@prodsyse.com>> wrote:



     On 2019-06-30 06:58, Joshua Ulrich wrote:
     <snip>

     > I imported both packages into separate repositories:
     >https://github.com/joshuaulrich/tmp-ecdat
     >https://github.com/joshuaulrich/tmp-ecfun
     >
     > I changed your email address on your R-Forge commits to match your
     > GitHub email address, so R-Forge commits would be associated
     with your
     > GitHub account.  I also omitted the "move" commit from Ecdat,
     and the
     > "obsolete > GitHub" commits from both packages.  I've attached a
     file
     > with the commands I used, if anyone is interested.
     >
     > You can use my repos by cloning them to your local machine, adding
     > your repos as new remotes, and pushing to them.  You would need
     to run
     > these commands (untested):
     >
     > ### clone my GitHub repo to your machine
     > git clone...@github.com:joshuaulrich/tmp-ecfun.git  Ecdat


     Thanks so much.  Sadly, I'm still having troubles.  This "git
     clone ..."
     generates:


     Enter passphrase for key '/Users/sbgraves/.ssh/id_rsa':


            Sadly, I don't know the passphrase it's looking for here,
     and I
     don't know how to find what it's looking for.  Under GitHub >
     Settings >
     "SSH and GPG keys", I see an SSH key dated two days ago, when I
     cloned
     Ecdat from within RStudio.  And in "~.ssh" I see files id_rsa and
     id_rsa.pub, both created two days ago.


            What do you suggest I try to get past this?


            Thanks again for all your help.


            Spencer Graves

     > cd Ecdat
     > ### rename my GitHub repo remote from 'origin' to 'tmp'
     > git remote rename origin tmp
     > ### add your GitHub repo remote as 'origin'
     > ### NOTE: this should be a new, clean repo.
     > ###    Rename your existing 'Ecdat' so you don't overwrite it
     > git remote add originhttps://github.com/sbgraves237/Ecdat
     > ### push to your GitHub repo
     > git push -u origin master
     >
     > Then you need to run similar commands for Ecfun.
     >
     > Best,
     > Josh
     >
     >>>         Thanks,
     >>>         Spencer
     >>>
     >>>
     >>> On 2019-06-29 14:09, Henrik Bengtsson wrote:
     >>>> On Sat, Jun 29, 2019 at 9:43 AM Spencer Graves
     >>>> <spencer.gra...@prodsyse.com
     <mailto:spencer.gra...@prodsyse.com>> wrote:
     >>>>> Hi, Ott et al.:
     >>>>>
     >>>>>
     >>>>>          What's the best way to get "Travis CI" to build and
     test the two
     >>>>> packages, Ecdat and Ecfun, that have long been combined in
     the Ecdat
     >>>>> project?
     >>>>>
     >>>>>
     >>>>>          Following Ott's advice and studying studying
     Wickham's "R
     >>>>> Packages" (http://r-pkgs.had.co.nz/), I was able to
     configure RStudio so
     >>>>> it would sync using git with
     "GitHub.com/sbgraves237/Ecdat".  However,
     >>>>> when I tried to configure "Travis CI", it said, "No
     DESCRIPTION file
     >>>>> found, user must supply their own install and script steps".
     >>>>>
     >>>>>
     >>>>>          Earlier in this thread, I think someone suggested I
     make the
     >>>>> Ecdat and Ecfun packages separate projects on GitHub (though
     I can't
     >>>>> find that suggestion now).  This would not be an issue if it
     were all
     >>>>> local without version control.  With RStudio managing my
     interface with
     >>>>> GitHub, it now seems quite tricky.
     >>>> I'm 99.999% confident that your life will be much much easier
     if you
     >>>> keep one R package per repository.  If you don't, you'll
     probably be
     >>>> very lonely when it comes to tools etc. There are built-in 'git'
     >>>> commands, but also git utility tools, for extracting a subset of
     >>>> folders/files from git repository into new git repositories.
     You'll
     >>>> still preserve the commit history.  I would deal with this in the
     >>>> terminal, using the 'git' client and possible some extraction
     tool.
     >>>>
     >>>> Also, while you spend time on this, have a look at the commit
     >>>> authorship that I mentioned previously.  It's nice to have
     that in
     >>>> place later.
     >>>>
     >>>> After you got the above in place, then .travis.yml and
     appveyor.yml is
     >>>> pretty straightforward (might even be a copy'n'paste).
     >>>>
     >>>> Finally, I saw you put your credentials in the URL when you
     cloned.  I
     >>>> don't think that's safe, your GitHub credentials will be
     stored in the
     >>>> ./.git/config file.  Instead, just clone with:
     >>>>
     >>>> git clonehttps://github.com/sbgraves237/Ecdat.git
     >>>>
     >>>> You can then configure git to cache your HTTPS credentials for a
     >>>> certain time, e.g. 120 minutes, so you don't have to enter
     them each
     >>>> time you pull/push.  See
     https://git-scm.com/docs/git-credential-cache
     >>>> for details.  That's what I tell new-comers to
     Git(Hub|Lab|...) to
     >>>> use.  Personally, I add my public SSH key to GitHub and then
     clone
     >>>> with the ssh protocol:
     >>>>
     >>>> git clone...@github.com:sbgraves237/Ecdat.git
     >>>>
     >>>> That way my I never have to worry entering my credentials.
     >>>>
     >>>> /Henrik
     >>>>
     >>>>>          Suggestions?
     >>>>>          Thanks again to all who have offered suggestions so
     far.  This
     >>>>> migration from R-Forge to GitHub seems complete except for
     the automatic
     >>>>> tests provided via "Travis CI".
     >>>>>
     >>>>>
     >>>>>          Spencer
     >>>>>
     >>>>>
     >>>>> On 2019-06-28 22:25, Ott Toomet wrote:
     >>>>>> Apparently your username/password are wrong.  Can you
     clone/push from
     >>>>>> other repos?
     >>>>>>
     >>>>>> You do not need authorization when cloning a public repo,
     so even
     >>>>>> incorrect credentials may work (haven't tested this
     though).  But for
     >>>>>> push you have to have that in order.
     >>>>>>
     >>>>>> I suggest you create ssh keys, upload those to GH, and use ssh
     >>>>>> authorization instead of https.
     >>>>>>
     >>>>>> Cheers,
     >>>>>> Ott
     >>>>>>
     >>>>>> On Fri, Jun 28, 2019 at 8:18 PM Spencer Graves
     >>>>>> <spencer.gra...@prodsyse.com
     <mailto:spencer.gra...@prodsyse.com>
     <mailto:spencer.gra...@prodsyse.com
     <mailto:spencer.gra...@prodsyse.com>>> wrote:
     >>>>>>
     >>>>>>       Thanks to Duncan, Henrik and Henrik, Brian, and Gábor:
     >>>>>>
     >>>>>>
     >>>>>>              I created a local copy of the new GitHub
     version using the
     >>>>>>       following:
     >>>>>>
     >>>>>>       git clone
     >>>>>>https://sbgraves237:mypassw...@github.com/sbgraves237/Ecdat.git
     >>>>>>
     >>>>>>
     >>>>>>
     >>>>>>              That worked in the sense that I got a local
     copy. However,
     >>>>>>       after
     >>>>>>       I rolled the version number and did "git commit" on
     the DESCRIPTION
     >>>>>>       files, my "git push" command generated the following:
     >>>>>>
     >>>>>>
     >>>>>>       remote: Invalid username or password.
     >>>>>>       fatal: Authentication failed for
     >>>>>>
      'https://sbgraves237:mypassw...@github.com/sbgraves237/Ecdat.git/'
     >>>>>>
     >>>>>>
     >>>>>>              What am I missing? [Note:  I used my actual GitHub
     >>>>>>       password in
     >>>>>>       place of "mypassword" here, and this "Authentication
     failed" message
     >>>>>>       reported the GitHub password I used here.]
     >>>>>>
     >>>>>>
     >>>>>>              Thanks,
     >>>>>>              Spencer
     >>>>>>
     >>>>>>
     >>>>>>       p.s.  I'm doing this under macOS Mojave 10.14.5.
     Also,  I added
     >>>>>>       ".onAttach" functions to the R-Forge versions as
     Brian G. Peterson
     >>>>>>       suggested.  That seemed to work fine.
     >>>>>>
     >>>>>>
     >>>>>>       On 2019-06-28 07:13, Duncan Murdoch wrote:
     >>>>>>       > On 28/06/2019 6:26 a.m., Gábor Csárdi wrote:
     >>>>>>       >
     >>>>>>       >> Instead, you can do as Duncan suggested, and put a
     README in your
     >>>>>>       >> R-Forge
     >>>>>>       >> repository, that points to *your* GitHub
     repositor(y/ies). Then the
     >>>>>>       >>https://github.com/rforge/ecdat  read only mirror
     will pick this up
     >>>>>>       >> and will
     >>>>>>       >> point there as well.
     >>>>>>       >
     >>>>>>       > Just for the record:  that was Henrik Singmann's
     suggestion, I just
     >>>>>>       > agreed with it.
     >>>>>>       >
     >>>>>>       > Duncan Murdoch
     >>>>>>       >
     >>>>>>
     >>>>>>
     >>>>>>               [[alternative HTML version deleted]]
     >>>>>>
     >>>>>>  ______________________________________________
     >>>>>>R-devel@r-project.org  <mailto:R-devel@r-project.org>
     <mailto:R-devel@r-project.org  <mailto:R-devel@r-project.org>>
     mailing list
     >>>>>>https://stat.ethz.ch/mailman/listinfo/r-devel
     >>>>>>
     >>>>>           [[alternative HTML version deleted]]
     >>>>>
     >>>>> ______________________________________________
     >>>>>R-devel@r-project.org  <mailto:R-devel@r-project.org>  mailing
     list
     >>>>>https://stat.ethz.ch/mailman/listinfo/r-devel
     >>> ______________________________________________
     >>>R-devel@r-project.org  <mailto:R-devel@r-project.org>  mailing list
     >>>https://stat.ethz.ch/mailman/listinfo/r-devel
     >>
     >>
     >> --
     >> Joshua Ulrich  | about.me/joshuaulrich
     <http://about.me/joshuaulrich>
     >> FOSS Trading  |www.fosstrading.com  <http://www.fosstrading.com>
     >
     >

     ______________________________________________
     R-devel@r-project.org  <mailto:R-devel@r-project.org>  mailing list
     https://stat.ethz.ch/mailman/listinfo/r-devel

        [[alternative HTML version deleted]]

______________________________________________
R-devel@r-project.org  mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to