Add dryrun functionality
This commit is contained in:
12
main.go
12
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,6 +100,7 @@ func main() {
|
||||
clipboard.Write(clipboard.FmtText, []byte(repo.CloneURL))
|
||||
} else {
|
||||
logger.Info("Repository does not exist, creating...")
|
||||
if !*dryrun {
|
||||
repo, _, err = client.CreateRepo(gitea.CreateRepoOption{
|
||||
Name: *name,
|
||||
Private: *private,
|
||||
@@ -109,6 +110,7 @@ func main() {
|
||||
logger.Error("Error creating repository: %v", err)
|
||||
return
|
||||
}
|
||||
}
|
||||
logger.Info("Repository created at: %s", repo.CloneURL)
|
||||
clipboard.Write(clipboard.FmtText, []byte(repo.CloneURL))
|
||||
}
|
||||
@@ -132,23 +134,27 @@ func main() {
|
||||
return
|
||||
}
|
||||
} else {
|
||||
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)
|
||||
_, err = localRepo.Remote(*remote)
|
||||
if err == nil {
|
||||
logger.Info("Remote %s exists in local repository", *remote)
|
||||
if *forceInit {
|
||||
logger.Info("Deleting remote %s from local repository...", *remote)
|
||||
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 {
|
||||
logger.Error("Remote %s already exists in local repository", *remote)
|
||||
@@ -157,6 +163,7 @@ func main() {
|
||||
}
|
||||
|
||||
logger.Info("Adding remote %s to local repository...", *remote)
|
||||
if !*dryrun {
|
||||
_, err = localRepo.CreateRemote(&config.RemoteConfig{
|
||||
Name: *remote,
|
||||
URLs: []string{repo.CloneURL},
|
||||
@@ -165,6 +172,7 @@ func main() {
|
||||
logger.Error("Error adding remote %s to local repository: %v", *remote, err)
|
||||
return
|
||||
}
|
||||
}
|
||||
logger.Info("Remote added to local repository")
|
||||
}
|
||||
logger.Info("Done")
|
||||
|
||||
Reference in New Issue
Block a user