+gitea bare repo cloning
This commit is contained in:
73
support_functions.go
Normal file
73
support_functions.go
Normal file
@@ -0,0 +1,73 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"os/exec"
|
||||
"runtime"
|
||||
)
|
||||
|
||||
// if Fatal err
|
||||
func ifFerr(msg string, err error) {
|
||||
if err != nil {
|
||||
log.Fatalf("%s -- %s\n", msg, err)
|
||||
}
|
||||
}
|
||||
|
||||
func availableProjectTypes(adir string) ([]string, error) {
|
||||
var res []string
|
||||
|
||||
sf, err := os.Open(adir)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
entries, err := sf.ReadDir(0)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
for _, e := range entries {
|
||||
if e.IsDir() {
|
||||
if e.Name() == ".git" {
|
||||
continue
|
||||
}
|
||||
res = append(res, e.Name())
|
||||
}
|
||||
}
|
||||
return res, nil
|
||||
}
|
||||
|
||||
func isConfigAvailable(types []string, aPType string) bool {
|
||||
res := false
|
||||
for _, v := range types {
|
||||
if v == aPType {
|
||||
res = true
|
||||
break
|
||||
}
|
||||
}
|
||||
return res
|
||||
}
|
||||
|
||||
func isSSHAvailable() bool {
|
||||
//rv := false
|
||||
//var res string
|
||||
var resb, resb2 []byte
|
||||
var err error
|
||||
system := runtime.GOOS
|
||||
switch system {
|
||||
case "linux":
|
||||
resb, err = exec.Command("which", "ssh").Output()
|
||||
ifFerr("Unable to test for ssh on linux", err)
|
||||
resb2, _ = exec.Command("which", "ssh3").Output()
|
||||
case "window":
|
||||
resb, err = exec.Command("where", "ssh").Output()
|
||||
ifFerr("Unable to test for ssh on windows", err)
|
||||
resb2, _ = exec.Command("which", "ssh3").Output()
|
||||
}
|
||||
fmt.Println("ssh is at: ", string(resb))
|
||||
fmt.Println("ssh - len resb: ", len(resb))
|
||||
fmt.Println("ssh3 - len resb2: ", len(resb2))
|
||||
return len(resb) != 0
|
||||
}
|
||||
Reference in New Issue
Block a user