1.17 breaking change episode 1 gitconfig
ci/woodpecker/push/woodpecker Pipeline was successful
Details
ci/woodpecker/push/woodpecker Pipeline was successful
Details
parent
8a70e65f31
commit
9f7298b2a2
|
@ -0,0 +1,47 @@
|
|||
+++
|
||||
title = "1.17 breaking changes episode 1: preserving a custom gitconfig"
|
||||
date = 2022-06-22
|
||||
description = "The location of the gitconfig file used by Gitea moved and custom modifications must be manually moved as well."
|
||||
[taxonomies]
|
||||
tags = ['hostea', 'gitea', 'troubleshoot', 'problem', 'tutorial']
|
||||
|
||||
[extra]
|
||||
author = 'dachary'
|
||||
+++
|
||||
|
||||
Before version 1.17, when Gitea needed to change the [git configuration](https://git-scm.com/docs/git-config), it modified the `$HOME/.gitconfig` file. For instance it would [set core.quotePath to false](https://github.com/go-gitea/gitea/blob/release/v1.16/modules/git/git.go#L174-L177):
|
||||
|
||||
```ini
|
||||
[core]
|
||||
quotePath = false
|
||||
```
|
||||
|
||||
When installing Gitea [from docker](https://docs.gitea.io/en-us/install-with-docker/) or [rootless](https://docs.gitea.io/en-us/install-with-docker-rootless/) or even [from binary](https://docs.gitea.io/en-us/install-from-binary/) this `$HOME/.gitconfig` file belongs to a user that is [dedicated to Gitea](https://docs.gitea.io/en-us/install-from-binary/#prepare-environment) and not used by anyone else.
|
||||
|
||||
However, if an Gitea installation was done differently and `$HOME/.gitconfig` has been customized because it is shared by a user or another application, there is a good chance that manual modifications were done such as:
|
||||
|
||||
```ini
|
||||
[user]
|
||||
name = Jane Doe
|
||||
email = jane@doe.com
|
||||
```
|
||||
|
||||
It is also possible that the file was modified manually by the Gitea admin for other reasons. In both there is a **potential for breakage when upgrading to Gitea >= 1.17 because the location of the file changed**. It must be moved manually to the new location as follows:
|
||||
|
||||
* Figure out the directory where `$HOME/.gitconfig` must be moved by [running the doctor](https://hostea.org/blog/gentle-introduction-to-the-doctor/):
|
||||
|
||||
```shell
|
||||
$ gitea --work-path /app/gitea -c /data/gitea/conf/app.ini doctor
|
||||
[1] Check paths and basic configuration
|
||||
- [I] Configuration File Path: "/data/gitea/conf/app.ini"
|
||||
- [I] Repository Root Path: "/data/git/repositories"
|
||||
- [I] Data Root Path: "/data/gitea"
|
||||
- [I] Custom File Root Path: "/data/gitea"
|
||||
- [I] Work directory: "/app/gitea"
|
||||
- [I] Log Root Path: "/data/gitea/log"
|
||||
OK
|
||||
```
|
||||
|
||||
* Copy the `$HOME/.gitconfig` file to the **Repository Root Path** (which is `/data/git/repositories` in the example above).
|
||||
|
||||
The reason why this breaking change was introduced is to workaround [a rare problem](https://hostea.org/blog/unsafe-repository-is-owned-by-someone-else/) impacting Gitea installations relying on networked volumes.
|
Loading…
Reference in New Issue