forked from toolshed/abra
		
	new recipe default branch main instead of master
This commit is contained in:
		| @ -5,14 +5,17 @@ import ( | ||||
|  | ||||
| 	"coopcloud.tech/abra/pkg/log" | ||||
| 	"github.com/go-git/go-git/v5" | ||||
| 	"github.com/go-git/go-git/v5/plumbing" | ||||
| 	"github.com/go-git/go-git/v5/plumbing/object" | ||||
| ) | ||||
|  | ||||
| // Init inits a new repo and commits all the stuff if you want | ||||
| func Init(repoPath string, commit bool, gitName, gitEmail string) error { | ||||
| 	if _, err := git.PlainInit(repoPath, false); err != nil { | ||||
| 	repo, err := git.PlainInit(repoPath, false) | ||||
| 	if err != nil { | ||||
| 		return fmt.Errorf("git init: %s", err) | ||||
| 	} | ||||
| 	MasterToMain(repo) | ||||
| 	log.Debugf("initialised new git repo in %s", repoPath) | ||||
|  | ||||
| 	if commit { | ||||
| @ -42,3 +45,21 @@ func Init(repoPath string, commit bool, gitName, gitEmail string) error { | ||||
|  | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func MasterToMain(repo *git.Repository) { | ||||
| 	// Create and set the 'main' branch as default | ||||
| 	ref := plumbing.NewSymbolicReference(plumbing.HEAD, plumbing.ReferenceName("refs/heads/main")) | ||||
| 	if err := repo.Storer.SetReference(ref); err != nil { | ||||
| 		log.Fatalf("Failed to set 'main' as default branch: %v", err) | ||||
| 	} | ||||
| 	// Update the repository configuration | ||||
| 	cfg, err := repo.Config() | ||||
| 	if err != nil { | ||||
| 		log.Fatalf("Failed to get repository config: %v", err) | ||||
| 	} | ||||
| 	cfg.Init.DefaultBranch = "main" | ||||
| 	if err := repo.SetConfig(cfg); err != nil { | ||||
| 		log.Fatalf("Failed to update repository config: %v", err) | ||||
| 	} | ||||
| 	fmt.Println("Set 'main' as the default branch.") | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user