R-Forge > GitHub?
On Sat, Jun 29, 2019 at 9:46 PM Joshua Ulrich <josh.m.ulrich at gmail.com> wrote:
On Sat, Jun 29, 2019 at 6:06 PM Spencer Graves <spencer.graves at prodsyse.com> wrote:
Hi, Henrik et al.:
What's your favorite documentation on how to make two GitHub
projects from one containing two packages?
Currently, "github.com/sbgraves237/Ecdat" consists primarily of a
directory "pkg" with subdirectories "Ecdat" and "Ecfun" containing the
two packages. I need to know how to do the following:
1. Extract "github.com/sbgraves237/Ecdat/pkg/Ecfun" to
create "github.com/sbgraves237/Ecfun".
2. Elevate "github.com/sbgraves237/Ecdat/pkg/Ecdat" to
"github.com/sbgraves237/Ecdat", discarding the other files in the
original "github.com/sbgraves237/Ecdat/".
This sounds like it could be accomplished relatively easily by
someone with sufficient understanding of "git" and GitHub. I could use
suggestions on how to do this -- or at least on how to find
documentation on how to do this.
This is straightforward if the two packages have always been in the same directory structure. But it doesn't look like that's the case for your repository, since Ecfun was added around r125. So Ecdat's history is split and would need to be grafted together. I've done this for other packages. So it's possible, but it took me some trial and error. I'm giving that a go right now. I'll report back tomorrow morning, at the latest.
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 git at github.com:joshuaulrich/tmp-ecfun.git Ecdat 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 origin https://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.graves at 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 clone https://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 git at 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.graves at prodsyse.com <mailto:spencer.graves at 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:mypassword at 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:mypassword at 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 at r-project.org <mailto:R-devel at r-project.org> mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
[[alternative HTML version deleted]]
______________________________________________ R-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
______________________________________________ R-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
-- Joshua Ulrich | about.me/joshuaulrich FOSS Trading | www.fosstrading.com
Joshua Ulrich | about.me/joshuaulrich FOSS Trading | www.fosstrading.com -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: ecdat_ecfun_migration.txt URL: <https://stat.ethz.ch/pipermail/r-devel/attachments/20190630/702d1c4d/attachment.txt>