@ -50,31 +50,23 @@ is the relevant line - but this may change.)
## Downloading and cloning the Gitea source code
Go is quite opinionated about where it expects its source code, and simply
cloning the Gitea repository to an arbitrary path is likely to lead to
problems - the fixing of which is out of scope for this document. Further, some
internal packages are referenced using their respective GitHub URL and at
present we use `vendor/` directories.
The recommended method of obtaining the source code is by using the `go get` command:
The recommended method of obtaining the source code is by using `git clone` .
```bash
go get -d code.gitea.io/gitea
cd "$GOPATH/src/code.gitea.io/gitea"
git clone https://github.com/go-gitea/gitea
```
This will clone the Gitea source code to: `"$GOPATH/src/code.gitea.io/gitea"` , or if `$GOPATH`
is not set `"$HOME/go/src/code.gitea.io/gitea"` .
(Since the advent of go modules, it is no longer necessary to build go projects
from within the `$GOPATH` , hence the `go get` approach is no longer recommended.)
## Forking Gitea
As stated above, you cannot clone Gitea to an arbitrary path. Download the master Gitea source
code as above. Then, fork the [Gitea repository ](https://github.com/go-gitea/gitea ) on GitHub,
Download the master Gitea source code as above. Then, fork the
[Gitea repository ](https://github.com/go-gitea/gitea ) on GitHub,
and either switch the git remote origin for your fork or add your fork as another remote:
```bash
# Rename original Gitea origin to upstream
cd "$GOPATH/src/code.gitea.io/gitea"
git remote rename origin upstream
git remote add origin "git@github.com:$GITHUB_USERNAME/gitea.git"
git fetch --all --prune
@ -84,7 +76,6 @@ or:
```bash
# Add new remote for our fork
cd "$GOPATH/src/code.gitea.io/gitea"
git remote add "$FORK_NAME" "git@github.com:$GITHUB_USERNAME/gitea.git"
git fetch --all --prune
```
@ -114,7 +105,7 @@ how our continuous integration works.
### Formatting, code analysis and spell check
Our continous integration will reject PRs that are not properly formatted, fail
Our continu ous integration will reject PRs that are not properly formatted, fail
code analysis or spell check.
You should format your code with `go fmt` using:
@ -237,8 +228,9 @@ have written integration tests; however, these are database dependent.
TAGS="bindata sqlite sqlite_unlock_notify" make build test-sqlite
```
will run the integration tests in an sqlite environment. Other database tests
are available but may need adjustment to the local environment.
will run the integration tests in an sqlite environment. Integration tests
require `git lfs` to be installed. Other database tests are available but
may need adjustment to the local environment.
Look at
[`integrations/README.md` ](https://github.com/go-gitea/gitea/blob/master/integrations/README.md )
@ -257,7 +249,7 @@ Documentation for the website is found in `docs/`. If you change this you
can test your changes to ensure that they pass continuous integration using:
```bash
cd "$GOPATH/src/code.gitea.io/gitea/docs"
# from the docs directory within Gitea
make trans-copy clean build
```