push
github
9 of 39 new or added lines in 2 files covered. (23.08%)
899 of 1112 relevant lines covered (80.85%)
22.29 hits per line
1 |
package main
|
|
2 |
|
|
3 |
import (
|
|
4 |
"fmt"
|
|
5 |
"os"
|
|
6 |
"os/exec"
|
|
7 |
"path/filepath"
|
|
8 |
|
|
9 |
"github.com/motemen/ghq/cmdutil"
|
|
10 |
"github.com/urfave/cli"
|
|
11 |
) |
|
12 |
|
|
NEW
|
func doCreate(c *cli.Context) error { |
× |
NEW
|
var (
|
× |
NEW
|
name = c.Args().First() |
× |
NEW
|
w = c.App.Writer |
× |
NEW
|
) |
× |
NEW
|
u, err := newURL(name, false, true) |
× |
NEW
|
if err != nil { |
× |
NEW
|
return err
|
× |
NEW
|
} |
× |
NEW
|
root, err := getRoot(u.String()) |
× |
NEW
|
if err != nil { |
× |
NEW
|
return err
|
× |
NEW
|
} |
× |
NEW
|
p := filepath.Join(root, u.Hostname(), u.Path) |
× |
NEW
|
if err := os.MkdirAll(p, 0755); err != nil { |
× |
NEW
|
return err
|
× |
NEW
|
} |
× |
30 |
|
|
NEW
|
cmd := exec.Command("git", "init") |
× |
NEW
|
cmd.Stdout = os.Stderr |
× |
NEW
|
cmd.Stderr = os.Stderr |
× |
NEW
|
cmd.Dir = p |
× |
NEW
|
if err := cmdutil.RunCommand(cmd, true); err != nil { |
× |
NEW
|
return err
|
× |
NEW
|
} |
× |
NEW
|
_, err = fmt.Fprintln(w, p) |
× |
NEW
|
return err
|
× |
40 |
} |