Zapytałem o pytanie related i zdałem sobie sprawę, że nie zadawałem właściwego pytania (tzn. Nie chodzi o git).Wysyłaj do github przez wiersz poleceń (Windows)
Pytanie brzmi: jak przesłać projekt do github bez wcześniejszego tworzenia projektu w chmurach przy użyciu R. Obecnie można to zrobić z wiersza poleceń git w RStudio, korzystając z informacji z this question.
Teraz próbuję zrobić to w kod R teraz z komputera z systemem Windows (Linux był łatwy). Utknąłem w pierwszym kroku używając curl z linii poleceń poprzez wywołanie R system
. Pokażę, co mam, a następnie komunikat o błędzie (Thanks to SimonO101 for getting me this far.). Za jego komentarze Poniżej podaję edytowany mocno odzwierciedla problem jak to:
R Kod:
repo <- "New"
user <- "trinker"
password <- "password"
url <- "http://curl.askapache.com/download/curl-7.23.1-win64-ssl-sspi.zip"
tmp <- tempfile(fileext = ".zip")
download.file(url,tmp)
unzip(tmp, exdir = tempdir())
system(paste0(tempdir(), "/curl http://curl.haxx.se/ca/cacert.pem -o " ,
tempdir() , "/curl-ca-bundle.crt"))
cmd1 <- paste0(tempdir(), "/curl -u '", user, ":", password,
"' https://api.github.com/user/repos -d '{\"name\":\"", repo, "\"}'")
system(cmd1)
cmd2 <- paste0(tempdir(), "/curl -k -u '", user, ":", password,
"' https://api.github.com/user/repos -d '{\"name\":\"", repo, "\"}'")
system(cmd2)
Komunikaty o błędach (takie same dla obu podejściach):
> system(cmd1)
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 12 0 0 100 12 0 24 --:--:-- --:--:-- --:--:-- 30
100 47 100 35 100 12 65 22 --:--:-- --:--:-- --:--:-- 83{
"message": "Bad credentials"
}
Wiem, że wszystkie pliki są dostępne, ponieważ:
> dir(tempdir())
[1] "curl-ca-bundle.crt" "curl.exe" "file1aec62fa980.zip" "file1aec758c1415.zip"
To nie może być moje hasło lub nazwa użytkownika, ponieważ działa na Linux Mint (jedyna różnica to ta część przed curl):
repo <- "New"
user <- "trinker"
password <- "password"
cmd1 <- paste0("curl -u '", user, ":", password,
"' https://api.github.com/user/repos -d '{\"name\":\"", repo, "\"}'")
system(cmd1)
UWAGA: Windows 7 maszyna. R 2.14.1
robi to, co ty sugeruję po prostu pracować na moim Macu, jak jest. Czy wypróbowałeś opcję '-k', jak sugeruje błąd? tj. 'cmd1 <- paste0 (" curl -k -u "", użytkownik, ":", hasło, "'https://api.github.com/user/repos -d' {\" name \ ": \ "", repo, "\"} '")' –
Tak i wydaje się, że odkłada się na czas nieokreślony. Spróbuję jeszcze raz. –
Ah, zawiesił się też dla mnie, ale potem przypadkowo zamknąłem pokrywę MBP. Kiedy ponownie go otworzyłem, polecenie zostało zakończone, a repo ukazało się na GitHub ...! Domyśl. –