Allow for specifying remote name
This commit is contained in:
30
main.go
30
main.go
@@ -21,15 +21,15 @@ var Error *log.Logger
|
|||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
log.SetFlags(log.Lmicroseconds | log.Lshortfile)
|
log.SetFlags(log.Lmicroseconds | log.Lshortfile)
|
||||||
logFile, err := os.Create("main.log")
|
// logFile, err := os.Create("main.log")
|
||||||
if err != nil {
|
// if err != nil {
|
||||||
log.Printf("Error creating log file: %v", err)
|
// log.Printf("Error creating log file: %v", err)
|
||||||
os.Exit(1)
|
// os.Exit(1)
|
||||||
}
|
// }
|
||||||
logger := io.MultiWriter(os.Stdout, logFile)
|
logger := io.MultiWriter(os.Stdout)
|
||||||
log.SetOutput(logger)
|
log.SetOutput(logger)
|
||||||
|
|
||||||
Error = log.New(io.MultiWriter(logFile, os.Stderr, os.Stdout),
|
Error = log.New(io.MultiWriter(os.Stderr, os.Stdout),
|
||||||
fmt.Sprintf("%sERROR:%s ", "\033[0;101m", "\033[0m"),
|
fmt.Sprintf("%sERROR:%s ", "\033[0;101m", "\033[0m"),
|
||||||
log.Lmicroseconds|log.Lshortfile)
|
log.Lmicroseconds|log.Lshortfile)
|
||||||
}
|
}
|
||||||
@@ -65,7 +65,7 @@ func main() {
|
|||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
var name string
|
var name, remote string
|
||||||
var private, noinit, forceInit bool
|
var private, noinit, forceInit bool
|
||||||
flag.StringVar(&name, "name", "", "Name of the repository")
|
flag.StringVar(&name, "name", "", "Name of the repository")
|
||||||
flag.StringVar(&name, "n", "", "Name of the repository (shorthand)")
|
flag.StringVar(&name, "n", "", "Name of the repository (shorthand)")
|
||||||
@@ -74,6 +74,8 @@ func main() {
|
|||||||
flag.BoolVar(&noinit, "noinit", false, "Do not add remote to the new repo")
|
flag.BoolVar(&noinit, "noinit", false, "Do not add remote to the new repo")
|
||||||
flag.BoolVar(&noinit, "ni", false, "Do not add remote to the new repo (shorthand)")
|
flag.BoolVar(&noinit, "ni", false, "Do not add remote to the new repo (shorthand)")
|
||||||
flag.BoolVar(&forceInit, "f", false, "Force assignment of the remote (deletes existing origin)")
|
flag.BoolVar(&forceInit, "f", false, "Force assignment of the remote (deletes existing origin)")
|
||||||
|
flag.StringVar(&remote, "remote", "origin", "Namw of the remote to create for the new repository")
|
||||||
|
flag.StringVar(&remote, "r", "origin", "Namw of the remote to create for the new repository (shorthand)")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
if len(flag.Args()) > 0 {
|
if len(flag.Args()) > 0 {
|
||||||
@@ -133,26 +135,26 @@ func main() {
|
|||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_, err = localRepo.Remote("origin")
|
_, err = localRepo.Remote(remote)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
if forceInit {
|
if forceInit {
|
||||||
err = localRepo.DeleteRemote("origin")
|
err = localRepo.DeleteRemote(remote)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
Error.Fatalf("Error deleting remote from local repository: %v", err)
|
Error.Fatalf("Error deleting remote %s from local repository: %v", remote, err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Error.Fatalf("Remote origin already exists in local repository")
|
Error.Fatalf("Remote %s already exists in local repository", remote)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err = localRepo.CreateRemote(&config.RemoteConfig{
|
_, err = localRepo.CreateRemote(&config.RemoteConfig{
|
||||||
Name: "origin",
|
Name: remote,
|
||||||
URLs: []string{repo.CloneURL},
|
URLs: []string{repo.CloneURL},
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
Error.Fatalf("Error adding remote to local repository: %v", err)
|
Error.Fatalf("Error adding remote %s to local repository: %v", remote, err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
log.Printf("Remote added to local repository")
|
log.Printf("Remote added to local repository")
|
||||||
|
Reference in New Issue
Block a user