Skip to content

Instantly share code, notes, and snippets.

@austa
Created December 19, 2013 06:46
Show Gist options
  • Save austa/8035317 to your computer and use it in GitHub Desktop.
Save austa/8035317 to your computer and use it in GitHub Desktop.
package main
import (
"fmt"
"os"
"os/exec"
"strings"
)
type yolUrl struct {
url string
tamUrl string
dizinYolu string
ayrikListe []string
}
func (p *yolUrl) argumanAlParcala() {
p.url = os.Args[1]
p.ayrikListe = strings.Split(p.url, "/")
p.tamUrl = "https://" + p.ayrikListe[0] + ".com/" + p.ayrikListe[1] + "/" + p.ayrikListe[2]
p.dizinYolu = p.ayrikListe[0] + ".com/" + p.ayrikListe[1]
}
func (p *yolUrl) execYap() {
cmd := exec.Command("git", "clone", p.tamUrl)
cmd.Run()
}
func (p *yolUrl) dizinVarMi() {
SRCDIR := os.Getenv("SRCDIR")
if SRCDIR == "" {
p.dizinYolu = "src/" + p.ayrikListe[0] + ".com/" + p.ayrikListe[1]
os.MkdirAll(p.dizinYolu, 0755)
SRCDIR = os.Getenv("HOME") + "/src"
os.Chdir(p.dizinYolu)
} else {
os.Chdir(SRCDIR)
os.MkdirAll(p.dizinYolu, 0755)
os.Chdir(p.dizinYolu)
}
}
func main() {
var p yolUrl
fmt.Println("Repo klonlanıyor...")
p.argumanAlParcala()
p.dizinVarMi()
p.execYap()
fmt.Println("Klonlama tamamlandı.")
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment