mirror of
https://github.com/gogs/gogs.git
synced 2025-12-21 15:50:00 +01:00
models/repo: UpdateLocalCopy should always aceept valid branch name
This commit is contained in:
2
gogs.go
2
gogs.go
@@ -16,7 +16,7 @@ import (
|
|||||||
"github.com/gogits/gogs/modules/setting"
|
"github.com/gogits/gogs/modules/setting"
|
||||||
)
|
)
|
||||||
|
|
||||||
const APP_VER = "0.9.149.0215"
|
const APP_VER = "0.9.150.0216"
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
setting.AppVer = APP_VER
|
setting.AppVer = APP_VER
|
||||||
|
|||||||
@@ -469,11 +469,17 @@ func (repo *Repository) LocalCopyPath() string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// UpdateLocalCopy fetches latest changes of given branch from repoPath to localPath.
|
// UpdateLocalCopy fetches latest changes of given branch from repoPath to localPath.
|
||||||
// It creates a new clone if local copy does not exist.
|
// It creates a new clone if local copy does not exist, but does not checks out to a
|
||||||
// This function checks out target branch by default, it is safe to assume subsequent
|
// specific branch if the local copy belongs to a wiki.
|
||||||
// operations are operating against target branch when caller has confidence for no race condition.
|
// For existing local copy, it checks out to target branch by default, and safe to
|
||||||
func UpdateLocalCopyBranch(repoPath, localPath, branch string) (err error) {
|
// assume subsequent operations are against target branch when caller has confidence
|
||||||
|
// about no race condition.
|
||||||
|
func UpdateLocalCopyBranch(repoPath, localPath, branch string, isWiki bool) (err error) {
|
||||||
if !com.IsExist(localPath) {
|
if !com.IsExist(localPath) {
|
||||||
|
// Checkout to a specific branch fails when wiki is an empty repository.
|
||||||
|
if isWiki {
|
||||||
|
branch = ""
|
||||||
|
}
|
||||||
if err = git.Clone(repoPath, localPath, git.CloneRepoOptions{
|
if err = git.Clone(repoPath, localPath, git.CloneRepoOptions{
|
||||||
Timeout: time.Duration(setting.Git.Timeout.Clone) * time.Second,
|
Timeout: time.Duration(setting.Git.Timeout.Clone) * time.Second,
|
||||||
Branch: branch,
|
Branch: branch,
|
||||||
@@ -502,7 +508,7 @@ func UpdateLocalCopyBranch(repoPath, localPath, branch string) (err error) {
|
|||||||
|
|
||||||
// UpdateLocalCopyBranch makes sure local copy of repository in given branch is up-to-date.
|
// UpdateLocalCopyBranch makes sure local copy of repository in given branch is up-to-date.
|
||||||
func (repo *Repository) UpdateLocalCopyBranch(branch string) error {
|
func (repo *Repository) UpdateLocalCopyBranch(branch string) error {
|
||||||
return UpdateLocalCopyBranch(repo.RepoPath(), repo.LocalCopyPath(), branch)
|
return UpdateLocalCopyBranch(repo.RepoPath(), repo.LocalCopyPath(), branch, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
// PatchPath returns corresponding patch file path of repository by given issue ID.
|
// PatchPath returns corresponding patch file path of repository by given issue ID.
|
||||||
|
|||||||
@@ -76,9 +76,7 @@ func (repo *Repository) LocalWikiPath() string {
|
|||||||
|
|
||||||
// UpdateLocalWiki makes sure the local copy of repository wiki is up-to-date.
|
// UpdateLocalWiki makes sure the local copy of repository wiki is up-to-date.
|
||||||
func (repo *Repository) UpdateLocalWiki() error {
|
func (repo *Repository) UpdateLocalWiki() error {
|
||||||
// Don't pass branch name here because it fails to clone and
|
return UpdateLocalCopyBranch(repo.WikiPath(), repo.LocalWikiPath(), "master", true)
|
||||||
// checkout to a specific branch when wiki is an empty repository.
|
|
||||||
return UpdateLocalCopyBranch(repo.WikiPath(), repo.LocalWikiPath(), "")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func discardLocalWikiChanges(localPath string) error {
|
func discardLocalWikiChanges(localPath string) error {
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
0.9.149.0215
|
0.9.150.0216
|
||||||
Reference in New Issue
Block a user