Add dryrun functionality
This commit is contained in:
58
main.go
58
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")
|
||||
}
|
||||
|
Reference in New Issue
Block a user