Git with a cup of tea! Painless self-hosted all-in-one software development service, includes Git hosting, code review, team collaboration, package registry and CI/CD
Go to file
Gary Kim 7eed11e5e9 Check commit message hashes before making links (#7713)
* Check commit message hashes before making links

Previously, when formatting commit messages, anything
that looked like SHA1 hashes was turned into a link
using regex. This meant that certain phrases or numbers
such as `777777` or `deadbeef` could be recognized as a commit
even if the repository has no commit with those hashes.

This change will make it so that anything that looks
like a SHA1 hash using regex will then also be checked
to ensure that there is a commit in the repository
with that hash before making a link.

Signed-off-by: Gary Kim <gary@garykim.dev>

* Use gogit to check if commit exists

This commit modifies the commit hash check
in the render for commit messages to use
gogit for better performance.

Signed-off-by: Gary Kim <gary@garykim.dev>

* Make code cleaner

Signed-off-by: Gary Kim <gary@garykim.dev>

* Use rev-parse to check if commit exists

Signed-off-by: Gary Kim <gary@garykim.dev>

* Add and modify tests for checking hashes in html link rendering

Signed-off-by: Gary Kim <gary@garykim.dev>

* Return error in sha1CurrentPatternProcessor

Co-Authored-By: mrsdizzie <info@mrsdizzie.com>

* Import Gitea log module

Signed-off-by: Gary Kim <gary@garykim.dev>

* Revert "Return error in sha1CurrentPatternProcessor"

This reverts commit 28f561cac4.

Signed-off-by: Gary Kim <gary@garykim.dev>

* Add debug logging to sha1CurrentPatternProcessor

This will log errors by the git command run in
sha1CurrentPatternProcessor if the error is one
that was unexpected.

Signed-off-by: Gary Kim <gary@garykim.dev>
2019-08-14 16:04:55 +08:00
.github Display Github support button (#7343) 2019-07-02 12:06:25 +02:00
assets Add task to generate images from SVG and change to new logo (#2194) 2017-07-28 13:51:20 +08:00
cmd Update serv.go (#7822) 2019-08-11 20:15:58 +08:00
contrib Monitor all git commands; move blame to git package and replace git as a variable (#6864) 2019-06-26 14:15:26 -04:00
custom/conf Update app.ini.sample (#7816) 2019-08-13 23:28:11 -04:00
docker drone/docker: prepare multi-arch release + provide arm64 image (#7571) 2019-07-24 13:21:12 -04:00
docs Import topics during migration (#7851) 2019-08-14 14:16:12 +08:00
integrations Fix duplicate call of webhook (#7821) 2019-08-11 23:31:18 +03:00
models Check commit message hashes before making links (#7713) 2019-08-14 16:04:55 +08:00
modules Check commit message hashes before making links (#7713) 2019-08-14 16:04:55 +08:00
options [skip ci] Updated translations via Crowdin 2019-08-13 17:11:27 +00:00
public vendor: update pdf.js to v2.1.266 (#7834) 2019-08-13 20:09:06 +03:00
routers Enable switching to a different source branch when PR already exists (#7819) 2019-08-11 23:23:49 +08:00
scripts Update gitignore list (#5258) 2018-11-03 18:06:09 -04:00
snap Use vfsgen instead of go-bindata (#7080) 2019-06-03 00:43:47 +03:00
templates gpg/bugfix: Use .ExpiredUnix.IsZero to display green color of forever valid gpg key (#7846) 2019-08-14 09:39:44 +08:00
vendor Remove camel case tokenization from repo indexer (#7733) 2019-08-06 07:38:16 +03:00
.changelog.yml Add changelog config file for generate changelog (#2461) 2017-09-04 13:07:57 +03:00
.drone.yml activate sum.golang.org check (#7782) 2019-08-08 12:38:23 +03:00
.editorconfig Add autoprefixer to css build (#6029) 2019-02-11 01:13:30 -05:00
.eslintrc convert all js var to let/const (#7464) 2019-07-16 09:51:46 +08:00
.gitattributes ignore static files statstics for linguist 2016-12-27 16:49:25 +01:00
.gitignore add 'npm' and 'npm-update' make targets and lockfile (#7246) 2019-06-18 22:59:47 -04:00
.golangci.yml Update golangci-lint to v1.17.1 (#7848) 2019-08-13 23:32:38 -04:00
.lgtm refactor: ignore LGTM from author of pull request. (#3283) 2018-01-02 06:13:49 -06:00
.npmrc add 'npm' and 'npm-update' make targets and lockfile (#7246) 2019-06-18 22:59:47 -04:00
.revive.toml refactor: replace lint to revive (#5422) 2018-12-03 09:28:46 -05:00
.stylelintrc replace lesshint with stylelint (#7305) 2019-06-27 08:36:36 +02:00
BSDmakefile Add BSDmakefile to prevent errors when `make` is called under FreeBSD (#4446) 2018-07-16 20:45:51 +02:00
CHANGELOG.md frontport 1.9.0 changelog (#7687) 2019-07-31 09:38:28 -04:00
CONTRIBUTING.md Update CONTRIBUTING.md with information about DCO (#7397) 2019-07-17 16:03:16 -04:00
DCO follow the advisor: add DCO and some improvements 2016-11-04 16:43:41 +08:00
Dockerfile build: use GOPROXY and disable download on some steps (#7745) 2019-08-05 00:58:16 +03:00
LICENSE Fix typo 2016-11-08 08:42:05 +01:00
MAINTAINERS Add self to maintainers (#7541) 2019-07-20 10:41:22 -04:00
Makefile Update golangci-lint to v1.17.1 (#7848) 2019-08-13 23:32:38 -04:00
README.md Fix backer badge (#7505) 2019-07-17 15:03:43 -04:00
README_ZH.md Fixes for README_ZH (#7506) 2019-07-18 09:38:47 +08:00
go.mod deps: Upgrade gopkg.in/editorconfig/editorconfig-core-go.v1 (#7749) 2019-08-05 15:52:41 +08:00
go.sum deps: Upgrade gopkg.in/editorconfig/editorconfig-core-go.v1 (#7749) 2019-08-05 15:52:41 +08:00
main.go Add golangci (#6418) 2019-06-12 15:41:28 -04:00
package-lock.json update js dependencies (#7462) 2019-07-14 12:53:04 -04:00
package.json update js dependencies (#7462) 2019-07-14 12:53:04 -04:00

README.md

简体中文

Gitea - Git with a cup of tea

Build Status Join the Discord chat at https://discord.gg/NsatcWJ codecov Go Report Card GoDoc GitHub release Help Contribute to Open Source Become a backer/sponsor of gitea

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! This project has been forked from Gogs since 2016.11 but changed a lot.

Building

From the root of the source tree, run:

TAGS="bindata" make generate all

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.

Contributing

Expected workflow is: Fork -> Patch -> Push -> Pull Request

NOTES:

  1. YOU MUST READ THE CONTRIBUTORS GUIDE 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. If you have questions that are not covered by the documentation, you can get in contact with us on our Discord server, or forum!

Authors

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

FAQ

How do you pronounce Gitea?

Gitea is pronounced /ɡɪti:/ as in "gi-tea" with a hard g.

Why is this not hosted on a Gitea instance?

We're working on it.

License

This project is licensed under the MIT License. See the LICENSE file for the full license text.

Screenshots

Looking for an overview of the interface? Check it out!

Dashboard Repository Commits History
Branches Issues Pull Request View
Releases Activity Wiki
Diff Organization Profile