Allow for specifying remote name

This commit is contained in:
PhatPhuckDave
2024-07-21 18:25:31 +02:00
parent 7090618dbd
commit b77cf4bd05

30
main.go
View File

@@ -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")