summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--models/action.go2
-rw-r--r--modules/context/repo.go4
2 files changed, 5 insertions, 1 deletions
diff --git a/models/action.go b/models/action.go
index fa610ff5cd..275914b32b 100644
--- a/models/action.go
+++ b/models/action.go
@@ -517,7 +517,7 @@ func CommitRepoAction(opts CommitRepoActionOptions) error {
}
// Change repository bare status and update last updated time.
- repo.IsBare = false
+ repo.IsBare = repo.IsBare && opts.Commits.Len <= 0
if err = UpdateRepository(repo, false); err != nil {
return fmt.Errorf("UpdateRepository: %v", err)
}
diff --git a/modules/context/repo.go b/modules/context/repo.go
index 919105f7b7..545a9a3ff2 100644
--- a/modules/context/repo.go
+++ b/modules/context/repo.go
@@ -390,6 +390,10 @@ func RepoRef() macaron.Handler {
if err != nil {
ctx.Handle(500, "GetBranches", err)
return
+ } else if len(brs) == 0 {
+ err = fmt.Errorf("No branches in non-bare repository %s",
+ ctx.Repo.GitRepo.Path)
+ ctx.Handle(500, "GetBranches", err)
}
refName = brs[0]
}