43 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
---
 | 
						||
date: "2016-12-01T16:00:00+02:00"
 | 
						||
title: "Hacking on Gitea"
 | 
						||
slug: "hacking-on-gitea"
 | 
						||
weight: 10
 | 
						||
toc: false
 | 
						||
draft: false
 | 
						||
menu:
 | 
						||
  sidebar:
 | 
						||
    parent: "advanced"
 | 
						||
    name: "Hacking on Gitea"
 | 
						||
    weight: 10
 | 
						||
    identifier: "hacking-on-gitea"
 | 
						||
---
 | 
						||
 | 
						||
# Hacking on Gitea
 | 
						||
 | 
						||
We won't cover the basics of a Golang setup within this guide. If you don't know how to get the environment up and running you should follow the official [install instructions](https://golang.org/doc/install).
 | 
						||
 | 
						||
If you want to contribute to Gitea you should fork the project and work on the `master` branch. There is a catch though, some internal packages are referenced by their GitHub URL. So you have to trick the Go tool to think that you work on a clone of the official repository. Start by downloading the source code as you normally would:
 | 
						||
 | 
						||
```
 | 
						||
go get -d code.gitea.io/gitea
 | 
						||
```
 | 
						||
 | 
						||
Now it's time to fork the [Gitea repository](https://github.com/go-gitea/gitea) on GitHub, after that you should have to switch to the source directory on the command line:
 | 
						||
 | 
						||
```
 | 
						||
cd $GOPATH/src/code.gitea.io/gitea
 | 
						||
```
 | 
						||
 | 
						||
To be able to create pull requests you should add your forked repository as a remote to the Gitea sources, otherwise you can not apply the changes to our repository because of lacking write permissions:
 | 
						||
 | 
						||
```
 | 
						||
git remote rename origin upstream
 | 
						||
git remote add origin git@github.com:<USERNAME>/gitea.git
 | 
						||
git fetch --all --prune
 | 
						||
```
 | 
						||
 | 
						||
You've got a working development environment for Gitea now. Take a look at the `Makefile` to get an overview about the available tasks. The most common tasks should be `make test` which will start our test environment and `make build` which will build a `gitea` binary into your working directory. Writing test cases is not mandatory to contribute, but we will be happy if you do.
 | 
						||
 | 
						||
That’s it! You are ready to hack on Gitea. Test your changes, push them to your repository and open a pull request.
 |