diff --git a/main.go b/main.go index 1469214..b85c4e7 100644 --- a/main.go +++ b/main.go @@ -20,11 +20,11 @@ var Version = "2.0.0" func main() { name := flag.StringP("name", "n", "", "Name of the repository") private := flag.BoolP("private", "p", false, "Make the repository private") - noinit := flag.BoolP("noinit", "ni", false, "Do not add remote to the new repo") + noinit := flag.Bool("noinit", false, "Do not add remote to the new repo") forceInit := flag.BoolP("force", "f", false, "Force assignment of the remote (deletes existing origin)") remote := flag.StringP("remote", "r", "origin", "Name of the remote to create for the new repository") version := flag.BoolP("version", "v", false, "Show version") - dryrun := flag.Bool("dryrun", false, "Dry run") + dryrun := flag.Bool("dry-run", false, "Dry run") help := flag.BoolP("help", "h", false, "Show help") flag.Parse() @@ -100,14 +100,16 @@ func main() { clipboard.Write(clipboard.FmtText, []byte(repo.CloneURL)) } else { logger.Info("Repository does not exist, creating...") - repo, _, err = client.CreateRepo(gitea.CreateRepoOption{ - Name: *name, - Private: *private, - DefaultBranch: "master", - }) - if err != nil { - logger.Error("Error creating repository: %v", err) - return + if !*dryrun { + repo, _, err = client.CreateRepo(gitea.CreateRepoOption{ + Name: *name, + Private: *private, + DefaultBranch: "master", + }) + if err != nil { + logger.Error("Error creating repository: %v", err) + return + } } logger.Info("Repository created at: %s", repo.CloneURL) clipboard.Write(clipboard.FmtText, []byte(repo.CloneURL)) @@ -132,10 +134,12 @@ func main() { return } } else { - localRepo, err = git.PlainInit(cwd, false) - if err != nil { - logger.Error("Error initializing git repository: %v", err) - return + if !*dryrun { + localRepo, err = git.PlainInit(cwd, false) + if err != nil { + logger.Error("Error initializing git repository: %v", err) + return + } } } logger.Info("Checking if remote %s exists in local repository...", *remote) @@ -144,10 +148,12 @@ func main() { logger.Info("Remote %s exists in local repository", *remote) if *forceInit { logger.Info("Deleting remote %s from local repository...", *remote) - err = localRepo.DeleteRemote(*remote) - if err != nil { - logger.Error("Error deleting remote %s from local repository: %v", *remote, err) - return + if !*dryrun { + err = localRepo.DeleteRemote(*remote) + if err != nil { + logger.Error("Error deleting remote %s from local repository: %v", *remote, err) + return + } } logger.Info("Remote %s deleted from local repository", *remote) } else { @@ -157,13 +163,15 @@ func main() { } logger.Info("Adding remote %s to local repository...", *remote) - _, err = localRepo.CreateRemote(&config.RemoteConfig{ - Name: *remote, - URLs: []string{repo.CloneURL}, - }) - if err != nil { - logger.Error("Error adding remote %s to local repository: %v", *remote, err) - return + if !*dryrun { + _, err = localRepo.CreateRemote(&config.RemoteConfig{ + Name: *remote, + URLs: []string{repo.CloneURL}, + }) + if err != nil { + logger.Error("Error adding remote %s to local repository: %v", *remote, err) + return + } } logger.Info("Remote added to local repository") }