diff --git a/.drone.yml b/.drone.yml
index c12138989bd9a..f4a6d31625faa 100644
--- a/.drone.yml
+++ b/.drone.yml
@@ -15,12 +15,12 @@ trigger:
steps:
- name: deps-frontend
pull: always
- image: node:16
+ image: node:14
commands:
- make node_modules
- name: lint-frontend
- image: node:16
+ image: node:14
commands:
- make lint-frontend
depends_on: [deps-frontend]
@@ -58,7 +58,7 @@ steps:
TAGS: bindata gogit sqlite sqlite_unlock_notify
- name: checks-frontend
- image: node:16
+ image: node:14
commands:
- make checks-frontend
depends_on: [deps-frontend]
@@ -71,13 +71,13 @@ steps:
depends_on: [lint-backend]
- name: test-frontend
- image: node:16
+ image: node:14
commands:
- make test-frontend
depends_on: [lint-frontend]
- name: build-frontend
- image: node:16
+ image: node:14
commands:
- make frontend
depends_on: [test-frontend]
@@ -514,7 +514,7 @@ steps:
pull: always
image: techknowlogick/xgo:go-1.16.x
commands:
- - curl -sL https://deb.nodesource.com/setup_16.x | bash - && apt-get install -y nodejs
+ - curl -sL https://deb.nodesource.com/setup_14.x | bash - && apt-get install -y nodejs
- export PATH=$PATH:$GOPATH/bin
- make release
environment:
@@ -610,7 +610,7 @@ steps:
pull: always
image: techknowlogick/xgo:go-1.16.x
commands:
- - curl -sL https://deb.nodesource.com/setup_16.x | bash - && apt-get install -y nodejs
+ - curl -sL https://deb.nodesource.com/setup_14.x | bash - && apt-get install -y nodejs
- export PATH=$PATH:$GOPATH/bin
- make release
environment:
diff --git a/options/locale/locale_ja-JP.ini b/options/locale/locale_ja-JP.ini
index 8f4bab2e677ad..651093ed23bab 100644
--- a/options/locale/locale_ja-JP.ini
+++ b/options/locale/locale_ja-JP.ini
@@ -1040,6 +1040,7 @@ editor.require_signed_commit=ブランチでは署名されたコミットが必
commits.desc=ソースコードの変更履歴を参照します。
commits.commits=コミット
commits.no_commits=共通のコミットはありません。 '%s' と '%s' の履歴はすべて異なっています。
+commits.nothing_to_compare=二つのブランチは同じ内容です。
commits.search=コミットの検索…
commits.search.tooltip=キーワード "author:"、"committer:"、"after:"、"before:" を付けて指定できます。 例 "revert author:Alice before:2019-04-01"
commits.find=検索
diff --git a/options/locale/locale_pt-PT.ini b/options/locale/locale_pt-PT.ini
index 5039f004f81ee..393072566f110 100644
--- a/options/locale/locale_pt-PT.ini
+++ b/options/locale/locale_pt-PT.ini
@@ -1040,6 +1040,7 @@ editor.require_signed_commit=O ramo requer um cometimento assinado
commits.desc=Navegar pelo histórico de modificações no código fonte.
commits.commits=Cometimentos
commits.no_commits=Não há cometimentos em comum. '%s' e '%s' têm históricos completamente diferentes.
+commits.nothing_to_compare=Estes ramos são iguais.
commits.search=Procurar cometimentos…
commits.search.tooltip=Pode prefixar palavras-chave com "author:", "committer:", "after:", ou "before:". Por exemplo: "revert author:Alice before:2019-04-01".
commits.find=Procurar
@@ -1828,8 +1829,8 @@ settings.event_pull_request_review=Pedido de integração revisto
settings.event_pull_request_review_desc=Pedido de integração aprovado, rejeitado ou comentado na revisão.
settings.event_pull_request_sync=Pedido de integração sincronizado
settings.event_pull_request_sync_desc=Pedido de integração sincronizado.
-settings.branch_filter=Filtro por ramo
-settings.branch_filter_desc=Lista de permissões do ramo para eventos de envio e de criação e eliminação de ramos, especificada como um padrão glob. Se estiver em branco ou for *
, serão reportados eventos para todos os ramos. Veja a documentação github.com/gobwas/glob para ver os detalhes da sintaxe. Exemplos: trunk
, {trunk,release*}
.
+settings.branch_filter=Filtro de ramos
+settings.branch_filter_desc=Lista dos ramos a serem considerados nos eventos de envio e de criação e eliminação de ramos, especificada como um padrão glob. Se estiver em branco ou for *
, serão reportados eventos para todos os ramos. Veja a documentação github.com/gobwas/glob para ver os detalhes da sintaxe. Exemplos: trunk
, {trunk,release*}
.
settings.active=Em funcionamento
settings.active_helper=Informação sobre eventos despoletados será enviada para o URL deste automatismo web.
settings.add_hook_success=O automatismo web foi adicionado.
diff --git a/routers/api/v1/repo/topic.go b/routers/api/v1/repo/topic.go
index 14712f536f8f7..7646eaf82e33a 100644
--- a/routers/api/v1/repo/topic.go
+++ b/routers/api/v1/repo/topic.go
@@ -126,7 +126,7 @@ func UpdateTopics(ctx *context.APIContext) {
// AddTopic adds a topic name to a repo
func AddTopic(ctx *context.APIContext) {
- // swagger:operation PUT /repos/{owner}/{repo}/topics/{topic} repository repoAddTopíc
+ // swagger:operation PUT /repos/{owner}/{repo}/topics/{topic} repository repoAddTopic
// ---
// summary: Add a topic to a repository
// produces:
diff --git a/routers/api/v1/swagger/app.go b/routers/api/v1/swagger/app.go
index 8be2c855749a3..9783abe1a082f 100644
--- a/routers/api/v1/swagger/app.go
+++ b/routers/api/v1/swagger/app.go
@@ -14,3 +14,10 @@ type swaggerResponseOAuth2Application struct {
// in:body
Body api.OAuth2Application `json:"body"`
}
+
+// AccessToken represents an API access token.
+// swagger:response AccessToken
+type swaggerResponseAccessToken struct {
+ // in:body
+ Body api.AccessToken `json:"body"`
+}
diff --git a/routers/api/v1/swagger/options.go b/routers/api/v1/swagger/options.go
index 0ae96a9203543..3f0c6e2d524c4 100644
--- a/routers/api/v1/swagger/options.go
+++ b/routers/api/v1/swagger/options.go
@@ -164,6 +164,9 @@ type swaggerParameterBodies struct {
// in:body
CreateTagOption api.CreateTagOption
+ // in:body
+ CreateAccessTokenOption api.CreateAccessTokenOption
+
// in:body
UserSettingsOptions api.UserSettingsOptions
}
diff --git a/routers/api/v1/user/app.go b/routers/api/v1/user/app.go
index 9f355a8289506..afd209f2f0791 100644
--- a/routers/api/v1/user/app.go
+++ b/routers/api/v1/user/app.go
@@ -76,15 +76,10 @@ func CreateAccessToken(ctx *context.APIContext) {
// description: username of user
// type: string
// required: true
- // - name: accessToken
+ // - name: userCreateToken
// in: body
// schema:
- // type: object
- // required:
- // - name
- // properties:
- // name:
- // type: string
+ // "$ref": "#/definitions/CreateAccessTokenOption"
// responses:
// "201":
// "$ref": "#/responses/AccessToken"
diff --git a/services/wiki/wiki.go b/services/wiki/wiki.go
index f1632c6bf7aac..e1590f461ef23 100644
--- a/services/wiki/wiki.go
+++ b/services/wiki/wiki.go
@@ -90,6 +90,9 @@ func prepareWikiFileName(gitRepo *git.Repository, wikiName string) (bool, string
// Look for both files
filesInIndex, err := gitRepo.LsTree("master", unescaped, escaped)
if err != nil {
+ if strings.Contains(err.Error(), "Not a valid object name master") {
+ return false, escaped, nil
+ }
log.Error("%v", err)
return false, escaped, err
}
diff --git a/services/wiki/wiki_test.go b/services/wiki/wiki_test.go
index a1614b509c2bc..6c861d556a7f5 100644
--- a/services/wiki/wiki_test.go
+++ b/services/wiki/wiki_test.go
@@ -5,11 +5,15 @@
package wiki
import (
+ "io/ioutil"
+ "os"
"path/filepath"
"testing"
"code.gitea.io/gitea/models"
"code.gitea.io/gitea/modules/git"
+ "code.gitea.io/gitea/modules/util"
+
"github.com/stretchr/testify/assert"
)
@@ -261,3 +265,28 @@ func TestPrepareWikiFileName(t *testing.T) {
})
}
}
+
+func TestPrepareWikiFileName_FirstPage(t *testing.T) {
+ models.PrepareTestEnv(t)
+
+ // Now create a temporaryDirectory
+ tmpDir, err := ioutil.TempDir("", "empty-wiki")
+ assert.NoError(t, err)
+ defer func() {
+ if _, err := os.Stat(tmpDir); !os.IsNotExist(err) {
+ _ = util.RemoveAll(tmpDir)
+ }
+ }()
+
+ err = git.InitRepository(tmpDir, true)
+ assert.NoError(t, err)
+
+ gitRepo, err := git.OpenRepository(tmpDir)
+ defer gitRepo.Close()
+ assert.NoError(t, err)
+
+ existence, newWikiPath, err := prepareWikiFileName(gitRepo, "Home")
+ assert.False(t, existence)
+ assert.NoError(t, err)
+ assert.Equal(t, "Home.md", newWikiPath)
+}
diff --git a/templates/swagger/v1_json.tmpl b/templates/swagger/v1_json.tmpl
index 238265fd7e0d6..a1d92abec7a86 100644
--- a/templates/swagger/v1_json.tmpl
+++ b/templates/swagger/v1_json.tmpl
@@ -9651,7 +9651,7 @@
"repository"
],
"summary": "Add a topic to a repository",
- "operationId": "repoAddTopíc",
+ "operationId": "repoAddTopic",
"parameters": [
{
"type": "string",
@@ -11917,18 +11917,10 @@
"required": true
},
{
- "name": "accessToken",
+ "name": "userCreateToken",
"in": "body",
"schema": {
- "type": "object",
- "required": [
- "name"
- ],
- "properties": {
- "name": {
- "type": "string"
- }
- }
+ "$ref": "#/definitions/CreateAccessTokenOption"
}
}
],
@@ -12654,6 +12646,17 @@
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
+ "CreateAccessTokenOption": {
+ "description": "CreateAccessTokenOption options when create access token",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "x-go-name": "Name"
+ }
+ },
+ "x-go-package": "code.gitea.io/gitea/modules/structs"
+ },
"CreateBranchProtectionOption": {
"description": "CreateBranchProtectionOption options for creating a branch protection",
"type": "object",
@@ -17045,20 +17048,8 @@
"responses": {
"AccessToken": {
"description": "AccessToken represents an API access token.",
- "headers": {
- "id": {
- "type": "integer",
- "format": "int64"
- },
- "name": {
- "type": "string"
- },
- "sha1": {
- "type": "string"
- },
- "token_last_eight": {
- "type": "string"
- }
+ "schema": {
+ "$ref": "#/definitions/AccessToken"
}
},
"AccessTokenList": {