mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-26 04:17:08 +00:00 
			
		
		
		
	Set DefaultBranch to master when importing a new repo if possible
This commit is contained in:
		| @@ -662,6 +662,33 @@ func MigrateRepository(u *User, opts MigrateRepoOptions) (*Repository, error) { | ||||
| 		return repo, fmt.Errorf("Clone: %v", err) | ||||
| 	} | ||||
|  | ||||
| 	// Check if repository is empty. | ||||
| 	_, stderr, err := com.ExecCmdDir(repoPath, "git", "log", "-1") | ||||
| 	if err != nil { | ||||
| 		if strings.Contains(stderr, "fatal: bad default revision 'HEAD'") { | ||||
| 			repo.IsBare = true | ||||
| 		} else { | ||||
| 			return repo, fmt.Errorf("check bare: %v - %s", err, stderr) | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if !repo.IsBare { | ||||
| 		// Try to get HEAD branch and set it as default branch. | ||||
| 		gitRepo, err := git.OpenRepository(repoPath) | ||||
| 		if err != nil { | ||||
| 			log.Error(4, "OpenRepository: %v", err) | ||||
| 			return repo, nil | ||||
| 		} | ||||
| 		headBranch, err := gitRepo.GetHEADBranch() | ||||
| 		if err != nil { | ||||
| 			log.Error(4, "GetHEADBranch: %v", err) | ||||
| 			return repo, nil | ||||
| 		} | ||||
| 		if headBranch != nil { | ||||
| 			repo.DefaultBranch = headBranch.Name | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if opts.IsMirror { | ||||
| 		if _, err = x.InsertOne(&Mirror{ | ||||
| 			RepoID:     repo.ID, | ||||
| @@ -696,31 +723,6 @@ func CleanUpMigrateInfo(repo *Repository, repoPath string) (*Repository, error) | ||||
| 		return repo, fmt.Errorf("save config file: %v", err) | ||||
| 	} | ||||
|  | ||||
| 	// Check if repository is empty. | ||||
| 	_, stderr, err := com.ExecCmdDir(repoPath, "git", "log", "-1") | ||||
| 	if err != nil { | ||||
| 		if strings.Contains(stderr, "fatal: bad default revision 'HEAD'") { | ||||
| 			repo.IsBare = true | ||||
| 		} else { | ||||
| 			return repo, fmt.Errorf("check bare: %v - %s", err, stderr) | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	// Try to get HEAD branch and set it as default branch. | ||||
| 	gitRepo, err := git.OpenRepository(repoPath) | ||||
| 	if err != nil { | ||||
| 		log.Error(4, "OpenRepository: %v", err) | ||||
| 		return repo, nil | ||||
| 	} | ||||
| 	headBranch, err := gitRepo.GetHEADBranch() | ||||
| 	if err != nil { | ||||
| 		log.Error(4, "GetHEADBranch: %v", err) | ||||
| 		return repo, nil | ||||
| 	} | ||||
| 	if headBranch != nil { | ||||
| 		repo.DefaultBranch = headBranch.Name | ||||
| 	} | ||||
|  | ||||
| 	return repo, UpdateRepository(repo, false) | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Josh Frye
					Josh Frye