Compare commits

..

4 Commits

Author SHA1 Message Date
bbb0b8c17c add change log for release v1.2.0-rc1 () 2017-08-25 16:54:41 +08:00
0938a2dca3 Fix missing collabrative repos () ()
* fix missing collabrative repos

* fix bug of collabrative

* fix SQL quotes
2017-08-25 10:25:37 +08:00
9df0eafa25 Move 3rd party js/css into public/vendor and document sources ()
This commit cherry picks the following commits (master -> v1.2):
  a915a09
  874f9be
  233bbcf

Ref: https://github.com/go-gitea/gitea/issues/1484
Signed-off-by: Michael Lustfield <michael@lustfield.net>
2017-08-25 10:01:17 +08:00
e13eef8cfe update translation from crowdin () () 2017-08-24 21:57:17 +08:00
5022 changed files with 307362 additions and 741136 deletions
.changelog.yml.dockerignore.drone.yml.drone.yml.sig.editorconfig.eslintrc
.github
.gitignore.golangci.yml.lgtm.npmrc.revive.toml.stylelintrcBSDmakefileCHANGELOG.mdCONTRIBUTING.mdDockerfileDockerfile.aarch64Dockerfile.rpiMAINTAINERSMakefileREADME.mdREADME_ZH.md
cmd
conf
contrib
fhs-compliant-script
ide
init
centos
debian
freebsd
gentoo
openbsd
sunos
suse
k8s
migrate
pr
systemd
windows
custom/conf
docker
docs
.editorconfig.gitignoreMakefileREADME.mdREADME_ZH.mdconfig.yaml
content
doc
advanced.en-us.mdadvanced.fr-fr.mdadvanced.zh-cn.md
advanced
features.en-us.mdfeatures.zh-cn.mdfeatures.zh-tw.md
features
help.en-us.mdhelp.zh-cn.md
help
installation.en-us.mdinstallation.fr-fr.mdinstallation.zh-cn.mdinstallation.zh-tw.md
installation
upgrade.en-us.mdupgrade.fr-fr.mdupgrade.zh-cn.mdupgrade.zh-tw.md
upgrade
usage.en-us.mdusage.zh-cn.md
usage
page
layouts
scripts
static
go.modgo.sum
integrations
README.mdREADME_ZH.mdapi_admin_org_test.goapi_admin_test.goapi_branch_test.goapi_comment_test.goapi_fork_test.goapi_gpg_keys_test.goapi_helper_for_declarative_test.goapi_issue_label_test.goapi_issue_test.goapi_keys_test.goapi_org_test.goapi_pull_test.goapi_releases_test.goapi_repo_edit_test.goapi_repo_file_create_test.goapi_repo_file_delete_test.goapi_repo_file_helpers.goapi_repo_file_update_test.goapi_repo_get_contents_list_test.goapi_repo_get_contents_test.goapi_repo_git_blobs_test.goapi_repo_git_commits_test.goapi_repo_git_hook_test.goapi_repo_git_ref_test.goapi_repo_git_tags_test.goapi_repo_git_trees_test.goapi_repo_lfs_locks_test.goapi_repo_raw_test.goapi_repo_tags_test.goapi_repo_test.goapi_team_test.goapi_token_test.goapi_user_heatmap_test.goapi_user_orgs_test.goapi_user_search_test.goauth_ldap_test.gobare_repo_test.gobenchmarks_test.gobranches_test.gocors_test.gocreate_no_session_test.godelete_user_test.godownload_test.goeditor_test.goempty_repo_test.gogit_helper_for_declarative_test.gogit_test.go
gitea-integration-meta
gitea-repositories-meta
limited_org
privated_org
user12
user13
user2
commits_search_test.git
git_hooks_test.git
repo1.git
repo1.wiki.git
repo15.git
repo16.git
repo20.git
utf8.git
user3
html_helper.gointegration_test.gointernal_test.goissue_test.golfs_getobject_test.golinks_test.go
migration-test
mssql.ini.tmplmysql.inimysql.ini.tmplmysql8.ini.tmplnonascii_branches_test.gooauth_test.goorg_test.gopgsql.inipgsql.ini.tmplpull_compare_test.gopull_create_test.gopull_merge_test.gopull_review_test.gopull_status_test.gorelease_test.gorepo_activity_test.gorepo_branch_test.gorepo_commits_search_test.gorepo_commits_test.gorepo_fork_test.gorepo_migrate_test.gorepo_search_test.gorepo_test.gorepofiles_delete_test.gorepofiles_update_test.gosetting_test.gosignout_test.gosqlite.inissh_key_test.gotestlogger.gotimetracking_test.gouser_test.goversion_test.goxss_test.go
main.go
models
access.goaccess_test.goaction.goaction_list.goaction_test.goadmin.goadmin_test.goattachment.goattachment_test.gobranches.gobranches_test.gocommit_status.gocommit_status_test.goconsistency.goconvert.goerror.go
fixtures
git_diff.gogit_diff_test.gogpg_key.gogpg_key_test.gograph.gograph_test.gohelper.gohelper_directory.gohelper_environment.goissue.goissue_assignees.goissue_assignees_test.goissue_comment.goissue_comment_list.goissue_comment_test.goissue_dependency.goissue_dependency_test.goissue_indexer.goissue_label.goissue_label_test.goissue_list.goissue_list_test.goissue_lock.goissue_mail.goissue_milestone.goissue_milestone_test.goissue_reaction.goissue_reaction_test.goissue_stopwatch.goissue_stopwatch_test.goissue_test.goissue_tracked_time.goissue_tracked_time_test.goissue_user.goissue_user_test.goissue_watch.goissue_watch_test.golfs.golfs_lock.golog.gologin_source.gomail.gomain_test.gomigrate.go
migrations
models.gomodels_sqlite.gomodels_test.gomodels_tidb.gonotification.gonotification_test.gooauth2.gooauth2_application.gooauth2_application_test.goorg.goorg_team.goorg_team_test.goorg_test.gopull.gopull_test.gorelease.gorelease_test.gorepo.gorepo_activity.gorepo_branch.gorepo_collaboration.gorepo_editor.gorepo_indexer.gorepo_issue.gorepo_list.gorepo_list_test.gorepo_mirror.gorepo_permission.gorepo_permission_test.gorepo_redirect.gorepo_tag.gorepo_test.gorepo_unit.gorepo_watch.gorepo_watch_test.goreview.goreview_test.gossh_key.gossh_key_test.gostar.gostar_test.gostatus.gostatus_test.gotest_fixtures.gotoken.gotoken_test.gotopic.gotopic_test.gotwofactor.gou2f.gou2f_test.gounit.gounit_tests.goupdate.goupdate_test.goupload.gouser.gouser_heatmap.gouser_heatmap_test.gouser_mail.gouser_mail_test.gouser_openid.gouser_openid_test.gouser_test.gowebhook.gowebhook_dingtalk.gowebhook_discord.gowebhook_msteams.gowebhook_slack.gowebhook_telegram.gowebhook_test.gowiki.gowiki_test.go
modules
auth
avatar
base
cache
context
cron
generate
git
README.mdblame.goblame_test.goblob.goblob_test.gocache.gocommand.gocommand_test.gocommit.gocommit_info.gocommit_info_test.gocommit_test.goerror.gogit.gogit_test.gohook.gonotes.gonotes_test.goparse.goparse_test.goref.gorepo.gorepo_blame.gorepo_blob.gorepo_blob_test.gorepo_branch.gorepo_branch_test.gorepo_commit.gorepo_commit_test.gorepo_commitgraph.gorepo_compare.gorepo_compare_test.gorepo_index.gorepo_object.gorepo_ref.gorepo_ref_test.gorepo_stats.gorepo_stats_test.gorepo_tag.gorepo_tag_test.gorepo_test.gorepo_tree.gosha1.gosignature.gosubmodule.gosubmodule_test.gotag.go
tests
repos
repo1_bare
HEADconfigdescription
hooks
info
logs
HEAD
refs
heads
objects
0b
11
15
18
21
28
2e
30
34
37
38
3a
50
59
5c
62
64
6c
6f
7e
80
82
83
8d
95
98
9c
a4
b1
b7
c8
ca
d0
e2
f1
fe
refs
repo2_empty
tree.gotree_blob.gotree_entry.gotree_entry_test.goutils.go
gzip
highlight
httplib
indexer
lfs
log
mailer
markdown
markup
metrics
migrations
notification
options
pprof
private
process
public
pull
recaptcha
repofiles
search
secret
session
setting
ssh
structs
templates
test
user
util
validation
options
gitignore
label
license
0BSD389-exceptionAALADSLAFL-1.1AFL-1.2AFL-2.0AFL-2.1AFL-3.0AGPL-1.0AGPL-3.0AGPL-3.0-onlyAGPL-3.0-or-laterAMDPLPAAMLAMPASANTLR-PDAPAFMLAPL-1.0APSL-1.0APSL-1.1APSL-1.2APSL-2.0AbstylesAdobe-2006Adobe-GlyphAfmparseAladdinApache-1.0Apache-1.1Apache-2.0Artistic-1.0Artistic-1.0-PerlArtistic-1.0-cl8Artistic-2.0Autoconf-exception-2.0Autoconf-exception-3.0BSD-1-ClauseBSD-2-ClauseBSD-2-Clause-FreeBSDBSD-2-Clause-NetBSDBSD-2-Clause-PatentBSD-3-ClauseBSD-3-Clause-AttributionBSD-3-Clause-ClearBSD-3-Clause-LBNLBSD-3-Clause-No-Nuclear-LicenseBSD-3-Clause-No-Nuclear-License-2014BSD-3-Clause-No-Nuclear-WarrantyBSD-4-ClauseBSD-4-Clause-UCBSD-ProtectionBSD-Source-CodeBSL-1.0BahyphBarrBeerwareBison-exception-2.2BitTorrent-1.0BitTorrent-1.1Bootloader-exceptionBorceuxCATOSL-1.1CC-BY-1.0CC-BY-2.0CC-BY-3.0CC-BY-4.0CC-BY-NC-1.0CC-BY-NC-2.0CC-BY-NC-3.0CC-BY-NC-4.0CC-BY-NC-ND-1.0CC-BY-NC-ND-2.0CC-BY-NC-ND-3.0CC-BY-NC-ND-4.0CC-BY-NC-SA-1.0CC-BY-NC-SA-2.0CC-BY-NC-SA-3.0CC-BY-NC-SA-4.0CC-BY-ND-1.0CC-BY-ND-2.0CC-BY-ND-3.0CC-BY-ND-4.0CC-BY-SA-1.0CC-BY-SA-2.0CC-BY-SA-3.0CC-BY-SA-4.0CC0-1.0CDDL-1.0CDDL-1.1CDLA-Permissive-1.0CDLA-Sharing-1.0CECILL-1.0CECILL-1.1CECILL-2.0CECILL-2.1CECILL-BCECILL-CCLISP-exception-2.0CNRI-JythonCNRI-PythonCNRI-Python-GPL-CompatibleCPAL-1.0CPL-1.0CPOL-1.02CUA-OPL-1.0CalderaClArtisticClasspath-exception-2.0Condor-1.1CrosswordCrystalStackerCubeD-FSL-1.0DOCDSDPDigiRule-FOSS-exceptionDotseqnECL-1.0ECL-2.0EFL-1.0EFL-2.0EPL-1.0EPL-2.0EUDatagridEUPL-1.0EUPL-1.1EUPL-1.2EntessaErlPL-1.1EurosymFLTK-exceptionFSFAPFSFULFSFULLRFTLFairFawkes-Runtime-exceptionFont-exception-2.0Frameworx-1.0FreeImageGCC-exception-2.0GCC-exception-3.1GFDL-1.1GFDL-1.1-onlyGFDL-1.1-or-laterGFDL-1.2GFDL-1.2-onlyGFDL-1.2-or-laterGFDL-1.3GFDL-1.3-onlyGFDL-1.3-or-laterGL2PSGPL-1.0GPL-1.0-onlyGPL-1.0-or-laterGPL-2.0GPL-2.0-onlyGPL-2.0-or-laterGPL-3.0GPL-3.0-onlyGPL-3.0-or-laterGiftwareGlideGlulxeHPNDHaskellReportIBM-pibsICUIJGIPAIPL-1.0ISCImageMagickImlib2Info-ZIPIntelIntel-ACPIInterbase-1.0JSONJasPer-2.0LAL-1.2LAL-1.3LGPL-2.0LGPL-2.0-onlyLGPL-2.0-or-laterLGPL-2.1LGPL-2.1-onlyLGPL-2.1-or-laterLGPL-3.0LGPL-3.0-onlyLGPL-3.0-or-laterLGPLLRLPL-1.0LPL-1.02LPPL-1.0LPPL-1.1LPPL-1.2LPPL-1.3aLPPL-1.3cLZMA-exceptionLatex2eLeptonicaLiLiQ-P-1.1LiLiQ-R-1.1LiLiQ-Rplus-1.1LibpngLibtool-exceptionLinux-syscall-noteMITMIT-CMUMIT-advertisingMIT-ennaMIT-fehMITNFAMPL-1.0MPL-1.1MPL-2.0MPL-2.0-no-copyleft-exceptionMS-PLMS-RLMTLLMakeIndexMirOSMotosotoMulticsMupNASA-1.3NBPL-1.0NCSANGPLNLOD-1.0NLPLNOSLNPL-1.0NPL-1.1NPOSL-3.0NRLNTPNaumenNet-SNMPNetCDFNewsletrNokiaNokia-Qt-exception-1.1NowebNunitOCCT-PLOCCT-exception-1.0OCLC-2.0ODbL-1.0OFL-1.0OFL-1.1OGTSLOLDAP-1.1OLDAP-1.2OLDAP-1.3OLDAP-1.4OLDAP-2.0OLDAP-2.0.1OLDAP-2.1OLDAP-2.2OLDAP-2.2.1OLDAP-2.2.2OLDAP-2.3OLDAP-2.4OLDAP-2.7OMLOPL-1.0OSET-PL-2.1OSL-1.0OSL-1.1OSL-2.0OSL-2.1OSL-3.0OpenSSLPDDL-1.0PHP-3.0PHP-3.01PlexusPostgreSQLPython-2.0QPL-1.0QhullQwt-exception-1.0RHeCos-1.1RPL-1.1RPSL-1.0RSA-MDRSCPLRdiscRubySAX-PDSCEASGI-B-1.0SGI-B-1.1SGI-B-2.0SISSLSISSL-1.2SMLNJSMPPLSNIASPL-1.0SWLSaxpathSendmailSimPL-2.0SleepycatSpencer-86Spencer-94Spencer-99SugarCRM-1.1.3TCLTCP-wrappersTMateTORQUE-1.1TOSLUPL-1.0Unicode-DFS-2015Unicode-DFS-2016Unicode-TOUUnlicenseUpdating the SPDX LicensesVOSTROMVSL-1.0VimW3CW3C-19980720W3C-20150513WTFPLWatcom-1.0WsuipaWxWindows-exception-3.1X11XFree86-1.1XSkatXeroxXnetYPL-1.0YPL-1.1ZPL-1.1ZPL-2.0ZPL-2.1ZedZend-2.0Zimbra-1.3Zimbra-1.4ZlibcurldiffmarkdvipdfmeCos-exception-2.0eGenixfreertos-exception-2.0gSOAP-1.3bgnu-javamail-exceptiongnuploti2p-gpl-java-exceptioniMatixlibtiffmif-exceptionmpich2openvpn-openssl-exceptionpsfragpsutilsu-boot-exception-2.0xinetdxppzlib-acknowledgement
locale
package-lock.jsonpackage.json
public
css
img
js
less
swagger.v1.json
vendor
VERSIONS
assets
librejs.html
plugins
routers
admin
api
home.goinit.goinstall.gometrics.go
org
private
repo
routes
swagger_json.go
user
utils
scripts
snap
templates
admin
base
custom
explore
home.tmplinstall.tmpl
mail
org
pwa
repo
status
swagger.tmpl
swagger
user
vendor
code.gitea.io
github.com
BurntSushi
PuerkitoBio
RoaringBitmap
Unknwon
andybalholm
beorn7
blevesearch
bleve
.gitignore.travis.ymlREADME.md
analysis
analyzer
custom
simple
freq.go
token
tokenizer
character
letter
config.go
document
geo
index.go
index
index_alias_impl.goindex_impl.goindex_meta.gomapping.go
mapping
numeric
query.gosearch.go
search
size
go-porterstemmer
segment
boltdb
chaseadamsio
coreos
couchbase
couchbaselabs
davecgh
denisenkom
dgrijalva
edsrzf
elazarl
emirpasic
etcd-io
ethantkoenig
facebookgo
glycerine
go-macaron
go-redis
go-sql-driver
go-xorm
gogits
golang
google
gorilla
issue9
jaytaylor
jbenet
go-context
juju
kballard
kevinburke
keybase
klauspost
lafriks
lib
lunny
markbates
mattn
matttproud
mcuadros
microcosm-cc
mitchellh
mrjones
mschoch
msteinert
nfnt
ngaut
oliamb
pelletier
petar
philhofer
pingcap
go-hbase
go-themis
tidb
CONTRIBUTING.mdDockerfileMakefileREADME.md
ast
bootstrap.go
column
context
ddl
domain
driver.go
evaluator
executor
gitcookie.sh
infoschema
inspectkv
kv
make.cmd
meta
model
mysql
optimizer
parser
perfschema
privilege
session.go
sessionctx
store
structure
table
terror
tidb.go
util
pkg
pmezard
go-difflib
difflib
pquerna
prometheus
russross
satori
sergi
shurcooL
siddontang
src-d
steveyen
stretchr
syndtr
tinylib
tstranex
twinj
ugorji
urfave
willf
xanzy
yohcop
golang.org
x
crypto
net
oauth2
sync
sys
AUTHORSCONTRIBUTORS
cpu
unix
.gitignoreREADME.mdaffinity_linux.goaliases.goasm.sasm_aix_ppc64.sasm_dragonfly_amd64.sasm_freebsd_arm64.sasm_linux_386.sasm_linux_amd64.sasm_linux_arm.sasm_linux_arm64.sasm_linux_mips64x.sasm_linux_mipsx.sasm_linux_ppc64x.sasm_linux_riscv64.sasm_linux_s390x.sasm_netbsd_arm64.sasm_openbsd_arm.sasm_openbsd_arm64.sasm_solaris_amd64.scap_freebsd.goconstants.godev_aix_ppc.godev_aix_ppc64.godev_darwin.godev_dragonfly.godev_freebsd.godev_linux.godev_netbsd.godev_openbsd.godirent.goendian_big.goendian_little.goenv_unix.goenv_unset.goerrors_freebsd_386.goerrors_freebsd_amd64.goerrors_freebsd_arm.gofcntl.gofcntl_darwin.gofcntl_linux_32bit.goflock.goflock_linux_32bit.gogccgo.gogccgo_c.cgccgo_linux_amd64.goioctl.gomkall.shmkasm_darwin.gomkerrors.shmkpost.gomksyscall.gomksyscall.plmksyscall_aix_ppc.gomksyscall_aix_ppc64.gomksyscall_solaris.gomksyscall_solaris.plmksysctl_openbsd.gomksysctl_openbsd.plmksysnum.gomksysnum_darwin.plmksysnum_dragonfly.plmksysnum_freebsd.plmksysnum_linux.plmksysnum_netbsd.plmksysnum_openbsd.plpagesize_unix.gopledge_openbsd.gorace.gorace0.gosockcmsg_linux.gosockcmsg_unix.gostr.gosyscall.gosyscall_aix.gosyscall_aix_ppc.gosyscall_aix_ppc64.gosyscall_bsd.gosyscall_darwin.gosyscall_darwin_386.gosyscall_darwin_amd64.gosyscall_darwin_arm.gosyscall_darwin_arm64.gosyscall_darwin_libSystem.gosyscall_dragonfly.gosyscall_dragonfly_amd64.gosyscall_freebsd.gosyscall_freebsd_386.gosyscall_freebsd_amd64.gosyscall_freebsd_arm.gosyscall_freebsd_arm64.gosyscall_linux.gosyscall_linux_386.gosyscall_linux_amd64.gosyscall_linux_amd64_gc.gosyscall_linux_arm.gosyscall_linux_arm64.gosyscall_linux_gc.gosyscall_linux_gc_386.gosyscall_linux_gccgo_386.gosyscall_linux_gccgo_arm.gosyscall_linux_mips64x.gosyscall_linux_mipsx.gosyscall_linux_ppc64x.gosyscall_linux_riscv64.gosyscall_linux_s390x.gosyscall_linux_sparc64.gosyscall_netbsd.gosyscall_netbsd_386.gosyscall_netbsd_amd64.gosyscall_netbsd_arm.gosyscall_netbsd_arm64.gosyscall_no_getwd.gosyscall_openbsd.gosyscall_openbsd_386.gosyscall_openbsd_amd64.gosyscall_openbsd_arm.gosyscall_openbsd_arm64.gosyscall_solaris.gosyscall_solaris_amd64.gosyscall_unix.gosyscall_unix_gc.gosyscall_unix_gc_ppc64x.gotimestruct.gotypes_aix.gotypes_darwin.gotypes_dragonfly.gotypes_freebsd.gotypes_linux.gotypes_netbsd.gotypes_openbsd.gotypes_solaris.gounveil_openbsd.goxattr_bsd.gozerrors_aix_ppc.gozerrors_aix_ppc64.gozerrors_darwin_386.gozerrors_darwin_amd64.gozerrors_darwin_arm.gozerrors_darwin_arm64.gozerrors_dragonfly_amd64.gozerrors_freebsd_386.gozerrors_freebsd_amd64.gozerrors_freebsd_arm.gozerrors_freebsd_arm64.gozerrors_linux_386.gozerrors_linux_amd64.gozerrors_linux_arm.gozerrors_linux_arm64.gozerrors_linux_mips.gozerrors_linux_mips64.gozerrors_linux_mips64le.gozerrors_linux_mipsle.gozerrors_linux_ppc64.gozerrors_linux_ppc64le.gozerrors_linux_riscv64.gozerrors_linux_s390x.gozerrors_linux_sparc64.gozerrors_netbsd_386.gozerrors_netbsd_amd64.gozerrors_netbsd_arm.gozerrors_netbsd_arm64.gozerrors_openbsd_386.gozerrors_openbsd_amd64.gozerrors_openbsd_arm.gozerrors_openbsd_arm64.gozerrors_solaris_amd64.gozptrace386_linux.gozptracearm_linux.gozptracemips_linux.gozptracemipsle_linux.gozsyscall_aix_ppc.gozsyscall_aix_ppc64.gozsyscall_aix_ppc64_gc.gozsyscall_aix_ppc64_gccgo.gozsyscall_darwin_386.1_11.gozsyscall_darwin_386.gozsyscall_darwin_386.szsyscall_darwin_amd64.1_11.gozsyscall_darwin_amd64.gozsyscall_darwin_amd64.szsyscall_darwin_arm.1_11.gozsyscall_darwin_arm.gozsyscall_darwin_arm.szsyscall_darwin_arm64.1_11.gozsyscall_darwin_arm64.gozsyscall_darwin_arm64.szsyscall_dragonfly_amd64.gozsyscall_freebsd_386.gozsyscall_freebsd_amd64.gozsyscall_freebsd_arm.gozsyscall_freebsd_arm64.gozsyscall_linux_386.gozsyscall_linux_amd64.gozsyscall_linux_arm.gozsyscall_linux_arm64.gozsyscall_linux_mips.gozsyscall_linux_mips64.gozsyscall_linux_mips64le.gozsyscall_linux_mipsle.gozsyscall_linux_ppc64.gozsyscall_linux_ppc64le.gozsyscall_linux_riscv64.gozsyscall_linux_s390x.gozsyscall_linux_sparc64.gozsyscall_netbsd_386.gozsyscall_netbsd_amd64.gozsyscall_netbsd_arm.gozsyscall_netbsd_arm64.gozsyscall_openbsd_386.gozsyscall_openbsd_amd64.gozsyscall_openbsd_arm.gozsyscall_openbsd_arm64.gozsyscall_solaris_amd64.gozsysctl_openbsd.gozsysctl_openbsd_386.gozsysctl_openbsd_amd64.gozsysctl_openbsd_arm.gozsysctl_openbsd_arm64.gozsysnum_darwin_386.gozsysnum_darwin_amd64.gozsysnum_darwin_arm.gozsysnum_darwin_arm64.gozsysnum_dragonfly_amd64.gozsysnum_freebsd_386.gozsysnum_freebsd_amd64.gozsysnum_freebsd_arm.gozsysnum_freebsd_arm64.gozsysnum_linux_386.gozsysnum_linux_amd64.gozsysnum_linux_arm.gozsysnum_linux_arm64.gozsysnum_linux_mips.gozsysnum_linux_mips64.gozsysnum_linux_mips64le.gozsysnum_linux_mipsle.gozsysnum_linux_ppc64.gozsysnum_linux_ppc64le.gozsysnum_linux_riscv64.gozsysnum_linux_s390x.gozsysnum_linux_sparc64.gozsysnum_netbsd_386.gozsysnum_netbsd_amd64.gozsysnum_netbsd_arm.gozsysnum_netbsd_arm64.gozsysnum_openbsd_386.gozsysnum_openbsd_amd64.gozsysnum_openbsd_arm.gozsysnum_openbsd_arm64.gozsysnum_solaris_amd64.goztypes_aix_ppc.goztypes_aix_ppc64.goztypes_darwin_386.goztypes_darwin_amd64.goztypes_darwin_arm.goztypes_darwin_arm64.goztypes_dragonfly_amd64.goztypes_freebsd_386.goztypes_freebsd_amd64.goztypes_freebsd_arm.goztypes_freebsd_arm64.goztypes_linux_386.goztypes_linux_amd64.goztypes_linux_arm.goztypes_linux_arm64.goztypes_linux_mips.goztypes_linux_mips64.goztypes_linux_mips64le.goztypes_linux_mipsle.goztypes_linux_ppc64.goztypes_linux_ppc64le.goztypes_linux_riscv64.goztypes_linux_s390x.goztypes_linux_sparc64.goztypes_netbsd_386.goztypes_netbsd_amd64.goztypes_netbsd_arm.goztypes_netbsd_arm64.goztypes_openbsd_386.goztypes_openbsd_amd64.goztypes_openbsd_arm.goztypes_openbsd_arm64.goztypes_solaris_amd64.go
windows
text
google.golang.org
gopkg.in
asn1-ber.v1
bufio.v1
editorconfig
gomail.v2
ini.v1
ldap.v2
ldap.v3
macaron.v1
redis.v2
src-d
go-billy.v4
go-git.v4
.gitignore.travis.ymlCODE_OF_CONDUCT.mdCOMPATIBILITY.mdCONTRIBUTING.mdDCOLICENSEMAINTAINERSMakefileREADME.mdappveyor.ymlblame.gocommon.go
config
doc.gogo.modgo.sum
internal
object_walker.gooptions.go
plumbing
cache
error.go
filemode
format
hash.gomemory.goobject.go
object
protocol
reference.gorevision.go
revlist
storer
transport
prune.goreferences.goremote.gorepository.gostatus.go
storage
submodule.go
utils
worktree.goworktree_bsd.goworktree_commit.goworktree_linux.goworktree_status.goworktree_unix_other.goworktree_windows.go
testfixtures.v2
warnings.v0
yaml.v2
modules.txt
mvdan.cc
strk.kbt.io
projects
go
libravatar
vendor.json
xorm.io

@ -1,44 +0,0 @@
repo: go-gitea/gitea
groups:
-
name: BREAKING
labels:
- kind/breaking
-
name: FEATURE
labels:
- kind/feature
-
name: BUGFIXES
labels:
- kind/bug
-
name: ENHANCEMENT
labels:
- kind/enhancement
- kind/refactor
- kind/ui
-
name: SECURITY
labels:
- kind/security
-
name: TESTING
labels:
- kind/testing
-
name: TRANSLATION
labels:
- kind/translation
-
name: BUILD
labels:
- kind/build
- kind/lint
-
name: DOCS
labels:
- kind/docs
-
name: MISC
default: true

5
.dockerignore Normal file

@ -0,0 +1,5 @@
*
!gitea
!docker
!public
!templates

File diff suppressed because it is too large Load Diff

1
.drone.yml.sig Normal file

File diff suppressed because one or more lines are too long

@ -1,4 +1,5 @@
# http://editorconfig.org
root = true
[*]
@ -14,11 +15,11 @@ indent_size = 8
indent_style = tab
indent_size = 4
[*.less]
[*.{less}]
indent_style = space
indent_size = 4
[*.{yml,json}]
[*.{yml}]
indent_style = space
indent_size = 2

@ -1,25 +0,0 @@
root: true
extends:
- eslint:recommended
parserOptions:
ecmaVersion: 2015
env:
browser: true
jquery: true
es6: true
globals:
Clipboard: false
CodeMirror: false
emojify: false
SimpleMDE: false
Vue: false
Dropzone: false
u2fApi: false
hljs: false
rules:
no-unused-vars: [error, {args: all, argsIgnorePattern: ^_, varsIgnorePattern: ^_, ignoreRestSiblings: true}]

1
.github/FUNDING.yml vendored

@ -1 +0,0 @@
open_collective: gitea

@ -1,9 +1,7 @@
<!-- NOTE: If your issue is a security concern, please send an email to security@gitea.io instead of opening a public issue -->
<!--
1. Please speak English, this is the language all maintainers can speak and write.
1. Please speak English, this is the language all of us can speak and write.
2. Please ask questions or configuration/deploy problems on our Discord
server (https://discord.gg/gitea) or forum (https://discourse.gitea.io).
server (https://discord.gg/NsatcWJ) or forum (https://discourse.gitea.io).
3. Please take a moment to check that your issue doesn't already exist.
4. Please give all relevant information below for bug reports, because
incomplete details will be handled as an invalid report.

53
.github/stale.yml vendored

@ -1,53 +0,0 @@
# Configuration for probot-stale - https://github.com/probot/stale
# Number of days of inactivity before an Issue or Pull Request becomes stale
daysUntilStale: 60
# Number of days of inactivity before an Issue or Pull Request with the stale label is closed.
# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
daysUntilClose: 14
# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable
exemptLabels:
- status/blocked
- kind/security
- lgtm/done
- reviewed/confirmed
- priority/critical
- kind/proposal
# Set to true to ignore issues in a project (defaults to false)
exemptProjects: false
# Set to true to ignore issues in a milestone (defaults to false)
exemptMilestones: false
# Label to use when marking as stale
staleLabel: stale
# Comment to post when marking as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs during the next 2 weeks. Thank you
for your contributions.
# Comment to post when closing a stale Issue or Pull Request.
closeComment: >
This issue has been automatically closed because of inactivity.
You can re-open it if needed.
# Limit the number of actions per hour, from 1-30. Default is 30
limitPerRun: 1
# Optionally, specify configuration settings that are specific to just 'issues' or 'pulls':
pulls:
daysUntilStale: 60
daysUntilClose: 60
markComment: >
This pull request has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs during the next 2 months. Thank you
for your contributions.
closeComment: >
This pull request has been automatically closed because of inactivity.
You can re-open it if needed.

33
.gitignore vendored

@ -10,9 +10,6 @@ _test
# IntelliJ
.idea
# MS VSCode
.vscode
# Architecture specific extensions/prefixes
*.[568vq]
[568vq].out
@ -30,7 +27,6 @@ _testmain.go
*.prof
*coverage.out
coverage.all
/modules/options/bindata.go
/modules/public/bindata.go
@ -40,7 +36,6 @@ coverage.all
*.log
/gitea
/debug
/integrations.test
/bin
@ -50,30 +45,4 @@ coverage.all
/indexers
/log
/public/img/avatar
/integrations/gitea-integration-mysql
/integrations/gitea-integration-mysql8
/integrations/gitea-integration-pgsql
/integrations/gitea-integration-sqlite
/integrations/gitea-integration-mssql
/integrations/indexers-mysql
/integrations/indexers-mysql8
/integrations/indexers-pgsql
/integrations/indexers-sqlite
/integrations/indexers-mssql
/integrations/mysql.ini
/integrations/mysql8.ini
/integrations/pgsql.ini
/integrations/mssql.ini
/node_modules
/modules/indexer/issues/indexers
routers/repo/authorized_keys
/yarn.lock
# Snapcraft
snap/.snapcraft/
parts/
stage/
prime/
*.snap
*.snap-build
*_source.tar.bz2
/integrations/gitea-integration

@ -1,97 +0,0 @@
linters:
enable:
- gosimple
- deadcode
- typecheck
- govet
- errcheck
- staticcheck
- unused
- structcheck
- varcheck
- golint
- dupl
#- gocyclo # The cyclomatic complexety of a lot of functions is too high, we should refactor those another time.
- gofmt
- misspell
- gocritic
enable-all: false
disable-all: true
fast: false
linters-settings:
gocritic:
disabled-checks:
- ifElseChain
- singleCaseSwitch # Every time this occured in the code, there was no other way.
issues:
exclude-rules:
# Exclude some linters from running on tests files.
- path: _test\.go
linters:
- gocyclo
- errcheck
- dupl
- gosec
- unparam
- staticcheck
- path: models/migrations/v
linters:
- gocyclo
- errcheck
- dupl
- gosec
- linters:
- dupl
text: "webhook"
- linters:
- gocritic
text: "`ID' should not be capitalized"
- path: modules/templates/helper.go
linters:
- gocritic
- linters:
- unused
- deadcode
text: "swagger"
- path: contrib/pr/checkout.go
linters:
- errcheck
- path: models/issue.go
linters:
- errcheck
- path: models/migrations/
linters:
- errcheck
- path: modules/log/
linters:
- errcheck
- path: routers/routes/routes.go
linters:
- dupl
- path: routers/repo/view.go
linters:
- dupl
- path: models/migrations/
linters:
- unused
- linters:
- staticcheck
text: "argument x is overwritten before first use"
- path: modules/httplib/httplib.go
linters:
- staticcheck
# Enabling this would require refactoring the methods and how they are called.
- path: models/issue_comment_list.go
linters:
- dupl
# "Destroy" is misspelled in github.com/go-macaron/session/session.go:213 so it's not our responsability to fix it
- path: modules/session/virtual.go
linters:
- misspell
text: '`Destory` is a misspelling of `Destroy`'
- path: modules/session/memory.go
linters:
- misspell
text: '`Destory` is a misspelling of `Destroy`'

3
.lgtm

@ -1,3 +1,2 @@
pattern = "(?)LGTM"
self_approval_off = true
self_approval_off = false
ignore_maintainers_file = true

1
.npmrc

@ -1 +0,0 @@
save-exact=true

@ -1,25 +0,0 @@
ignoreGeneratedHeader = false
severity = "warning"
confidence = 0.8
errorCode = 1
warningCode = 1
[rule.blank-imports]
[rule.context-as-argument]
[rule.context-keys-type]
[rule.dot-imports]
[rule.error-return]
[rule.error-strings]
[rule.error-naming]
[rule.exported]
[rule.if-return]
[rule.increment-decrement]
[rule.var-naming]
[rule.var-declaration]
[rule.package-comments]
[rule.range]
[rule.receiver-naming]
[rule.time-naming]
[rule.unexported-return]
[rule.indent-error-flow]
[rule.errorf]

@ -1,11 +0,0 @@
extends: stylelint-config-standard
rules:
block-closing-brace-empty-line-before: null
color-hex-length: null
comment-empty-line-before: null
declaration-empty-line-before: null
indentation: 4
no-descending-specificity: null
rule-empty-line-before: null
selector-pseudo-element-colon-notation: null

@ -1,51 +0,0 @@
# GNU makefile proxy script for BSD make
# Written and maintained by Mahmoud Al-Qudsi <mqudsi@neosmart.net>
# Copyright NeoSmart Technologies <https://neosmart.net/> 2014-2018
# Obtain updates from <https://github.com/neosmart/gmake-proxy>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice, this
# list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
JARG =
GMAKE = "gmake"
#When gmake is called from another make instance, -w is automatically added
#which causes extraneous messages about directory changes to be emitted.
#--no-print-directory silences these messages.
GARGS = "--no-print-directory"
.if "$(.MAKE.JOBS)" != ""
JARG = -j$(.MAKE.JOBS)
.endif
#by default bmake will cd into ./obj first
.OBJDIR: ./
.PHONY: FRC
$(.TARGETS): FRC
$(GMAKE) $(GARGS) $(.TARGETS:S,.DONE,,) $(JARG)
.DONE .DEFAULT: .SILENT
$(GMAKE) $(GARGS) $(.TARGETS:S,.DONE,,) $(JARG)
.ERROR: .SILENT
if ! which $(GMAKE) > /dev/null; then \
echo "GNU Make is required!"; \
fi

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -1,41 +1,19 @@
###################################
#Build stage
FROM golang:1.12-alpine3.10 AS build-env
ARG GITEA_VERSION
ARG TAGS="sqlite sqlite_unlock_notify"
ENV TAGS "bindata $TAGS"
#Build deps
RUN apk --no-cache add build-base git
#Setup repo
COPY . ${GOPATH}/src/code.gitea.io/gitea
WORKDIR ${GOPATH}/src/code.gitea.io/gitea
#Checkout version if set
RUN if [ -n "${GITEA_VERSION}" ]; then git checkout "${GITEA_VERSION}"; fi \
&& make clean generate build
FROM alpine:3.10
LABEL maintainer="maintainers@gitea.io"
FROM alpine:3.5
MAINTAINER Thomas Boerger <thomas@webhippie.de>
EXPOSE 22 3000
RUN apk --no-cache add \
bash \
su-exec \
ca-certificates \
curl \
gettext \
sqlite \
bash \
git \
linux-pam \
openssh \
s6 \
sqlite \
su-exec \
curl \
openssh \
tzdata
RUN addgroup \
-S -g 1000 \
git && \
@ -50,12 +28,12 @@ RUN addgroup \
ENV USER git
ENV GITEA_CUSTOM /data/gitea
ENV GODEBUG=netdns=go
VOLUME ["/data"]
ENTRYPOINT ["/usr/bin/entrypoint"]
CMD ["/bin/s6-svscan", "/etc/s6"]
COPY docker/root /
COPY --from=build-env /go/src/code.gitea.io/gitea/gitea /app/gitea/gitea
RUN ln -s /app/gitea/gitea /usr/local/bin/gitea
COPY docker /
COPY gitea /app/gitea/gitea

40
Dockerfile.aarch64 Normal file

@ -0,0 +1,40 @@
FROM multiarch/alpine:aarch64-v3.5
EXPOSE 22 3000
RUN apk --no-cache add \
su-exec \
ca-certificates \
sqlite \
bash \
git \
linux-pam \
s6 \
curl \
openssh \
tzdata
RUN addgroup \
-S -g 1000 \
git && \
adduser \
-S -H -D \
-h /data/git \
-s /bin/bash \
-u 1000 \
-G git \
git && \
echo "git:$(dd if=/dev/urandom bs=24 count=1 status=none | base64)" | chpasswd
ENV USER git
ENV GITEA_CUSTOM /data/gitea
COPY docker /
COPY gitea /app/gitea/gitea
ENV GODEBUG=netdns=go
VOLUME ["/data"]
ENTRYPOINT ["/usr/bin/entrypoint"]
CMD ["/bin/s6-svscan", "/etc/s6"]

39
Dockerfile.rpi Normal file

@ -0,0 +1,39 @@
FROM multiarch/alpine:armhf-v3.5
MAINTAINER Thomas Boerger <thomas@webhippie.de>
EXPOSE 22 3000
RUN apk --no-cache add \
su-exec \
ca-certificates \
sqlite \
bash \
git \
linux-pam \
s6 \
curl \
openssh \
tzdata
RUN addgroup \
-S -g 1000 \
git && \
adduser \
-S -H -D \
-h /data/git \
-s /bin/bash \
-u 1000 \
-G git \
git && \
echo "git:$(dd if=/dev/urandom bs=24 count=1 status=none | base64)" | chpasswd
ENV USER git
ENV GITEA_CUSTOM /data/gitea
ENV GODEBUG=netdns=go
VOLUME ["/data"]
ENTRYPOINT ["/usr/bin/entrypoint"]
CMD ["/bin/s6-svscan", "/etc/s6"]
COPY docker /
COPY gitea /app/gitea/gitea

@ -7,7 +7,6 @@ Kim Carlbäcker <kim.carlbacker@gmail.com> (@bkcsoft)
LefsFlare <nobody@nobody.tld> (@LefsFlarey)
Lunny Xiao <xiaolunwen@gmail.com> (@lunny)
Matthias Loibl <mail@matthiasloibl.com> (@metalmatze)
Morgan Bazalgette <the@howl.moe> (@thehowl)
Rachid Zarouali <nobody@nobody.tld> (@xinity)
Rémy Boulanouar <admin@dblk.org> (@DblK)
Sandro Santilli <strk@kbt.io> (@strk)
@ -17,16 +16,3 @@ Patrick G <geek1011@outlook.com> (@geek1011)
Antoine Girard <sapk@sapk.fr> (@sapk)
Lauris Bukšis-Haberkorns <lauris@nix.lv> (@lafriks)
Jonas Östanbäck <jonas.ostanback@gmail.com> (@cez81)
David Schneiderbauer <dschneiderbauer@gmail.com> (@daviian)
Peter Žeby <morlinest@gmail.com> (@morlinest)
Matti Ranta <matti@mdranta.net> (@techknowlogick)
Jonas Franz <info@jonasfranz.software> (@jonasfranz)
Alexey Terentyev <axifnx@gmail.com> (@axifive)
Lanre Adelowo <yo@lanre.wtf> (@adelowo)
Konrad Langenberg <k@knt.li> (@kolaente)
He-Long Zhang <outman99@hotmail.com> (@BetaCat0)
Andrew Thornton <art27@cantab.net> (@zeripath)
John Olheiser <john.olheiser@gmail.com> (@jolheiser)
Richard Mahn <rich.mahn@unfoldingword.org> (@richmahn)
Mrsdizzie <info@mrsdizzie.com> (@mrsdizzie)
silverwind <me@silverwind.io> (@silverwind)

377
Makefile

File diff suppressed because it is too large Load Diff

101
README.md

@ -4,58 +4,36 @@
[![Build Status](https://drone.gitea.io/api/badges/go-gitea/gitea/status.svg)](https://drone.gitea.io/go-gitea/gitea)
[![Join the Discord chat at https://discord.gg/NsatcWJ](https://img.shields.io/discord/322538954119184384.svg)](https://discord.gg/NsatcWJ)
[![Join the Matrix chat at https://matrix.to/#/#gitea:matrix.org](https://img.shields.io/badge/matrix-%23gitea%3Amatrix.org-7bc9a4.svg)](https://matrix.to/#/#gitea:matrix.org)
[![](https://images.microbadger.com/badges/image/gitea/gitea.svg)](https://microbadger.com/images/gitea/gitea "Get your own image badge on microbadger.com")
[![codecov](https://codecov.io/gh/go-gitea/gitea/branch/master/graph/badge.svg)](https://codecov.io/gh/go-gitea/gitea)
[![Coverage Status](https://coverage.gitea.io/badges/go-gitea/gitea/coverage.svg)](https://coverage.gitea.io/go-gitea/gitea)
[![Go Report Card](https://goreportcard.com/badge/code.gitea.io/gitea)](https://goreportcard.com/report/code.gitea.io/gitea)
[![GoDoc](https://godoc.org/code.gitea.io/gitea?status.svg)](https://godoc.org/code.gitea.io/gitea)
[![GitHub release](https://img.shields.io/github/release/go-gitea/gitea.svg)](https://github.com/go-gitea/gitea/releases/latest)
[![Help Contribute to Open Source](https://www.codetriage.com/go-gitea/gitea/badges/users.svg)](https://www.codetriage.com/go-gitea/gitea)
[![Become a backer/sponsor of gitea](https://opencollective.com/gitea/tiers/backer/badge.svg?label=backer&color=brightgreen)](https://opencollective.com/gitea)
[![Release](https://github-release-version.herokuapp.com/github/go-gitea/gitea/release.svg?style=flat)](https://github.com/go-gitea/gitea/releases/latest)
| | | |
|:---:|:---:|:---:|
|![Dashboard](https://i.imgur.com/3iEQsux.jpg)|![Repository](https://i.imgur.com/glqFnj8.jpg)|![Commits History](https://i.imgur.com/ad1FEpi.jpg)|
|![Profile](https://i.imgur.com/q81EcGa.jpg)|![Admin Dashboard](https://i.imgur.com/L2CQeN0.jpg)|![Diff](https://i.imgur.com/cNuvMum.jpg)|
|![Issues](https://i.imgur.com/xCYRqaF.jpg)|![Releases](https://i.imgur.com/ILpRBCe.jpg)|![Organization](https://i.imgur.com/0BHnrcL.jpg)|
## Purpose
The goal of this project is to make the easiest, fastest, and most
painless way of setting up a self-hosted Git service.
Using Go, this can be done with an independent binary distribution across
**all platforms** which Go supports, including Linux, macOS, and Windows
on x86, amd64, ARM and PowerPC architectures.
Want to try it before doing anything else?
Do it [with the online demo](https://try.gitea.io/)!
This project has been
[forked](https://blog.gitea.io/2016/12/welcome-to-gitea/) from
[Gogs](https://gogs.io) since 2016.11 but changed a lot.
The goal of this project is to make the easiest, fastest, and most painless way of setting up a self-hosted Git service. Using Go, this can be done with an independent binary distribution across **all platforms** which Go supports, including Linux, macOS, and Windows on x86, amd64, ARM and PowerPC architectures. Want to try it before doing anything else? Do it [with the online demo](https://try.gitea.io/)! This project has been [forked](https://blog.gitea.io/2016/12/welcome-to-gitea/) from [Gogs](https://gogs.io).
## Building
## Notes
From the root of the source tree, run:
1. **YOU MUST READ THE [CONTRIBUTORS GUIDE](CONTRIBUTING.md) BEFORE STARTING TO WORK ON A PULL REQUEST.**
2. If you found a vulnerability in the project, please write privately to **security@gitea.io**. Thanks!
3. If you're interested in using our APIs, we have experimental support with [documentation](https://godoc.org/code.gitea.io/sdk/gitea).
TAGS="bindata" make generate all
## Docs
More info: https://docs.gitea.io/en-us/install-from-source/
## Using
./gitea web
NOTE: If you're interested in using our APIs, we have experimental
support with [documentation](https://try.gitea.io/api/swagger).
For more information and instructions about how to install Gitea please look at our [documentation](https://docs.gitea.io/en-us/). If you cannot find some specific information, then head over to our [Discord server](https://discord.gg/NsatcWJ) or [Matrix room](https://matrix.to/#/#gitea:matrix.org) to chat with us or use the [forum](https://discourse.gitea.io/).
## Contributing
Expected workflow is: Fork -> Patch -> Push -> Pull Request
NOTES:
1. **YOU MUST READ THE [CONTRIBUTORS GUIDE](CONTRIBUTING.md) BEFORE STARTING TO WORK ON A PULL REQUEST.**
2. If you have found a vulnerability in the project, please write privately to **security@gitea.io**. Thanks!
## Further information
For more information and instructions about how to install Gitea, please look
at our [documentation](https://docs.gitea.io/en-us/). If you have questions
that are not covered by the documentation, you can get in contact with us on
our [Discord server](https://discord.gg/NsatcWJ),
or [forum](https://discourse.gitea.io/)!
Fork -> Patch -> Push -> Pull Request
## Authors
@ -63,49 +41,6 @@ or [forum](https://discourse.gitea.io/)!
* [Contributors](https://github.com/go-gitea/gitea/graphs/contributors)
* [Translators](options/locale/TRANSLATORS)
## Backers
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/gitea#backer)]
<a href="https://opencollective.com/gitea#backers" target="_blank"><img src="https://opencollective.com/gitea/backers.svg?width=890"></a>
## Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/gitea#sponsor)]
<a href="https://opencollective.com/gitea/sponsor/0/website" target="_blank"><img src="https://opencollective.com/gitea/sponsor/0/avatar.svg"></a>
<a href="https://opencollective.com/gitea/sponsor/1/website" target="_blank"><img src="https://opencollective.com/gitea/sponsor/1/avatar.svg"></a>
<a href="https://opencollective.com/gitea/sponsor/2/website" target="_blank"><img src="https://opencollective.com/gitea/sponsor/2/avatar.svg"></a>
<a href="https://opencollective.com/gitea/sponsor/3/website" target="_blank"><img src="https://opencollective.com/gitea/sponsor/3/avatar.svg"></a>
<a href="https://opencollective.com/gitea/sponsor/4/website" target="_blank"><img src="https://opencollective.com/gitea/sponsor/4/avatar.svg"></a>
<a href="https://opencollective.com/gitea/sponsor/5/website" target="_blank"><img src="https://opencollective.com/gitea/sponsor/5/avatar.svg"></a>
<a href="https://opencollective.com/gitea/sponsor/6/website" target="_blank"><img src="https://opencollective.com/gitea/sponsor/6/avatar.svg"></a>
<a href="https://opencollective.com/gitea/sponsor/7/website" target="_blank"><img src="https://opencollective.com/gitea/sponsor/7/avatar.svg"></a>
<a href="https://opencollective.com/gitea/sponsor/8/website" target="_blank"><img src="https://opencollective.com/gitea/sponsor/8/avatar.svg"></a>
<a href="https://opencollective.com/gitea/sponsor/9/website" target="_blank"><img src="https://opencollective.com/gitea/sponsor/9/avatar.svg"></a>
## FAQ
**How do you pronounce Gitea?**
Gitea is pronounced [/ɡɪti:/](https://youtu.be/EM71-2uDAoY) as in "gi-tea" with a hard g.
**Why is this not hosted on a Gitea instance?**
We're [working on it](https://github.com/go-gitea/gitea/issues/1029).
## License
This project is licensed under the MIT License.
See the [LICENSE](https://github.com/go-gitea/gitea/blob/master/LICENSE) file
for the full license text.
## Screenshots
Looking for an overview of the interface? Check it out!
| | | |
|:---:|:---:|:---:|
|![Dashboard](https://image.ibb.co/dms6DG/1.png)|![Repository](https://image.ibb.co/m6MSLw/2.png)|![Commits History](https://image.ibb.co/cjrSLw/3.png)|
|![Branches](https://image.ibb.co/e6vbDG/4.png)|![Issues](https://image.ibb.co/bJTJSb/5.png)|![Pull Request View](https://image.ibb.co/e02dSb/6.png)|
|![Releases](https://image.ibb.co/cUzgfw/7.png)|![Activity](https://image.ibb.co/eZgGDG/8.png)|![Wiki](https://image.ibb.co/dYV9YG/9.png)|
|![Diff](https://image.ibb.co/ewA9YG/10.png)|![Organization](https://image.ibb.co/ceOwDG/11.png)|![Profile](https://image.ibb.co/c44Q7b/12.png)|
This project is licensed under the MIT License. See the [LICENSE](https://github.com/go-gitea/gitea/blob/master/LICENSE) file for the full license text.

@ -5,15 +5,20 @@
[![Build Status](https://drone.gitea.io/api/badges/go-gitea/gitea/status.svg)](https://drone.gitea.io/go-gitea/gitea)
[![Join the chat at https://img.shields.io/discord/322538954119184384.svg](https://img.shields.io/discord/322538954119184384.svg)](https://discord.gg/NsatcWJ)
[![](https://images.microbadger.com/badges/image/gitea/gitea.svg)](https://microbadger.com/images/gitea/gitea "Get your own image badge on microbadger.com")
[![codecov](https://codecov.io/gh/go-gitea/gitea/branch/master/graph/badge.svg)](https://codecov.io/gh/go-gitea/gitea)
[![Coverage Status](https://coverage.gitea.io/badges/go-gitea/gitea/coverage.svg)](https://coverage.gitea.io/go-gitea/gitea)
[![Go Report Card](https://goreportcard.com/badge/code.gitea.io/gitea)](https://goreportcard.com/report/code.gitea.io/gitea)
[![GoDoc](https://godoc.org/code.gitea.io/gitea?status.svg)](https://godoc.org/code.gitea.io/gitea)
[![GitHub release](https://img.shields.io/github/release/go-gitea/gitea.svg)](https://github.com/go-gitea/gitea/releases/latest)
[![Become a backer/sponsor of gitea](https://opencollective.com/gitea/tiers/backer/badge.svg?label=backer&color=brightgreen)](https://opencollective.com/gitea)
[![Release](https://github-release-version.herokuapp.com/github/go-gitea/gitea/release.svg?style=flat)](https://github.com/go-gitea/gitea/releases/latest)
| | | |
|:---:|:---:|:---:|
|![Dashboard](https://i.imgur.com/3iEQsux.jpg)|![Repository](https://i.imgur.com/glqFnj8.jpg)|![Commits History](https://i.imgur.com/ad1FEpi.jpg)|
|![Profile](https://i.imgur.com/q81EcGa.jpg)|![Admin Dashboard](https://i.imgur.com/L2CQeN0.jpg)|![Diff](https://i.imgur.com/cNuvMum.jpg)|
|![Issues](https://i.imgur.com/xCYRqaF.jpg)|![Releases](https://i.imgur.com/ILpRBCe.jpg)|![Organization](https://i.imgur.com/0BHnrcL.jpg)|
## 目标
Gitea 的首要目标是创建一个极易安装,运行非常快速,安装和使用体验良好的自建 Git 服务。我们采用 Go 作为后端语言,这使我们只要生成一个可执行程序即可。并且他还支持跨平台,支持 Linux, macOS 和 Windows 以及各种架构,除了 x86amd64还包括 ARM 和 PowerPC。
Gitea的首要目标是创建一个极易安装运行非常快速安装和使用体验良好的自建 Git 服务。我们采用Go作为后端语言这使我们只要生成一个可执行程序即可。并且他还支持跨平台支持 Linux, macOS 和 Windows 以及各种架构除了x86amd64还包括 ARM 和 PowerPC。
如果您想试用一下,请访问 [在线Demo](https://try.gitea.io/)
@ -40,12 +45,3 @@ Fork -> Patch -> Push -> Pull Request
## 授权许可
本项目采用 MIT 开源授权许可证,完整的授权说明已放置在 [LICENSE](https://github.com/go-gitea/gitea/blob/master/LICENSE) 文件中。
## 截图
| | | |
|:---:|:---:|:---:|
|![Dashboard](https://image.ibb.co/dms6DG/1.png)|![Repository](https://image.ibb.co/m6MSLw/2.png)|![Commits History](https://image.ibb.co/cjrSLw/3.png)|
|![Branches](https://image.ibb.co/e6vbDG/4.png)|![Issues](https://image.ibb.co/bJTJSb/5.png)|![Pull Request View](https://image.ibb.co/e02dSb/6.png)|
|![Releases](https://image.ibb.co/cUzgfw/7.png)|![Activity](https://image.ibb.co/eZgGDG/8.png)|![Wiki](https://image.ibb.co/dYV9YG/9.png)|
|![Diff](https://image.ibb.co/ewA9YG/10.png)|![Organization](https://image.ibb.co/ceOwDG/11.png)|![Profile](https://image.ibb.co/c44Q7b/12.png)|

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -90,16 +90,16 @@ func pemBlockForKey(priv interface{}) *pem.Block {
}
}
func runCert(c *cli.Context) error {
if err := argsSet(c, "host"); err != nil {
return err
func runCert(ctx *cli.Context) error {
if len(ctx.String("host")) == 0 {
log.Fatal("Missing required --host parameter")
}
var priv interface{}
var err error
switch c.String("ecdsa-curve") {
switch ctx.String("ecdsa-curve") {
case "":
priv, err = rsa.GenerateKey(rand.Reader, c.Int("rsa-bits"))
priv, err = rsa.GenerateKey(rand.Reader, ctx.Int("rsa-bits"))
case "P224":
priv, err = ecdsa.GenerateKey(elliptic.P224(), rand.Reader)
case "P256":
@ -109,23 +109,23 @@ func runCert(c *cli.Context) error {
case "P521":
priv, err = ecdsa.GenerateKey(elliptic.P521(), rand.Reader)
default:
log.Fatalf("Unrecognized elliptic curve: %q", c.String("ecdsa-curve"))
log.Fatalf("Unrecognized elliptic curve: %q", ctx.String("ecdsa-curve"))
}
if err != nil {
log.Fatalf("Failed to generate private key: %v", err)
}
var notBefore time.Time
if startDate := c.String("start-date"); startDate != "" {
notBefore, err = time.Parse("Jan 2 15:04:05 2006", startDate)
if len(ctx.String("start-date")) == 0 {
notBefore = time.Now()
} else {
notBefore, err = time.Parse("Jan 2 15:04:05 2006", ctx.String("start-date"))
if err != nil {
log.Fatalf("Failed to parse creation date: %v", err)
}
} else {
notBefore = time.Now()
}
notAfter := notBefore.Add(c.Duration("duration"))
notAfter := notBefore.Add(ctx.Duration("duration"))
serialNumberLimit := new(big.Int).Lsh(big.NewInt(1), 128)
serialNumber, err := rand.Int(rand.Reader, serialNumberLimit)
@ -147,7 +147,7 @@ func runCert(c *cli.Context) error {
BasicConstraintsValid: true,
}
hosts := strings.Split(c.String("host"), ",")
hosts := strings.Split(ctx.String("host"), ",")
for _, h := range hosts {
if ip := net.ParseIP(h); ip != nil {
template.IPAddresses = append(template.IPAddresses, ip)
@ -156,7 +156,7 @@ func runCert(c *cli.Context) error {
}
}
if c.Bool("ca") {
if ctx.Bool("ca") {
template.IsCA = true
template.KeyUsage |= x509.KeyUsageCertSign
}
@ -170,28 +170,17 @@ func runCert(c *cli.Context) error {
if err != nil {
log.Fatalf("Failed to open cert.pem for writing: %v", err)
}
err = pem.Encode(certOut, &pem.Block{Type: "CERTIFICATE", Bytes: derBytes})
if err != nil {
log.Fatalf("Failed to encode certificate: %v", err)
}
err = certOut.Close()
if err != nil {
log.Fatalf("Failed to write cert: %v", err)
}
pem.Encode(certOut, &pem.Block{Type: "CERTIFICATE", Bytes: derBytes})
certOut.Close()
log.Println("Written cert.pem")
keyOut, err := os.OpenFile("key.pem", os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0600)
if err != nil {
log.Fatalf("Failed to open key.pem for writing: %v", err)
}
err = pem.Encode(keyOut, pemBlockForKey(priv))
if err != nil {
log.Fatalf("Failed to encode key: %v", err)
}
err = keyOut.Close()
if err != nil {
log.Fatalf("Failed to write key: %v", err)
}
pem.Encode(keyOut, pemBlockForKey(priv))
keyOut.Close()
log.Println("Written key.pem")
return nil
}

@ -1,48 +0,0 @@
// Copyright 2018 The Gitea Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
// Package cmd provides subcommands to the gitea binary - such as "web" or
// "admin".
package cmd
import (
"errors"
"fmt"
"code.gitea.io/gitea/models"
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/util"
"github.com/urfave/cli"
)
// argsSet checks that all the required arguments are set. args is a list of
// arguments that must be set in the passed Context.
func argsSet(c *cli.Context, args ...string) error {
for _, a := range args {
if !c.IsSet(a) {
return errors.New(a + " is not set")
}
if util.IsEmptyString(a) {
return errors.New(a + " is required")
}
}
return nil
}
func initDB() error {
return initDBDisableConsole(false)
}
func initDBDisableConsole(disableConsole bool) error {
setting.NewContext()
models.LoadConfigs()
setting.NewXORMLogService(disableConsole)
if err := models.SetEngine(); err != nil {
return fmt.Errorf("models.SetEngine: %v", err)
}
return nil
}

Some files were not shown because too many files have changed in this diff Show More