Sto provando a scrivere una funzione per inviare un progetto a github senza prima creare il progetto tra le nuvole. Attualmente puoi farlo dalla riga di comando git in RStudio usando le informazioni da this question.utilizzando la riga di comando git and curl
Ora sto cercando di riassumere in una funzione che posso utilizzare system
per creare il repository nei cloud da un repository locale. Sto lavorando su questo su una macchina Windows e Linux (quindi non sono sicuro di quanto bene funzioni su mac ancora). Ecco il mio codice finora (rilevare la posizione git):
gitpath <- NULL
repo <- "New"
user <- "CantPostThat"
password <- "blargcats"
if (Sys.info()["sysname"] != "Windows") {
gitpath <- "git"
} else {
if (is.null(gitpath)){
test <- c(file.exists("C:\\Program Files (x86)\\Git\\bin\\git.exe"),
file.exists("C:\\Program Files\\Git\\bin\\git.exe"))
if (sum(test) == 0) {
stop("Git not found. Supply path to 'gitpath'")
}
gitpath <- c("\"C:\\Program Files (x86)\\Git\\bin\\git\"",
"\"C:\\Program Files\\Git\\bin\\git\"")[test][1]
}
}
Ho poi provare con system
:
system(paste(gitpath, "--version"))
> system(paste(gitpath, "--version"))
git version 1.7.11.msysgit.1
sembra buono. Ma poi ho provato su un vero e proprio pezzo di codice:
cmd1 <- paste(gitpath, paste0("curl -u '", user, ":", password,
"' https://api.github.com/user/repos -d '{\"name\":\"", repo, "\"}'"))
system(cmd1)
e ottenere il messaggio:
> system(cmd1)
git: 'curl' is not a git command. See 'git --help'.
Did you mean this?
pull
Warning message:
running command '"C:\Program Files (x86)\Git\bin\git" curl -u ' trinker : PASSWORD ' https://api.github.com/user/repos -d '{"name":" three "}'' had status 1
Come posso eseguire questo comando:
curl -u 'USER:PASS' https://api.github.com/user/repos -d '{"name":"REPO"}'
dalla console.
Ho anche provato a correre senza mettere git di fronte prima. Sono attualmente su una macchina vincente 7
Avete arricciatura installato? – hadley
Suppongo di farlo se posso eseguire RCurl. Non l'ho provato su linux. Immagino che il trucco sarà trovarlo su Windows. –
@hadley Sono in grado di farlo con la riga di comando git, quindi è necessario installare Curl (anche se non riesco a trovarlo). –