mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-03 21:08:25 +00:00 
			
		
		
		
	Refactor git module, make Gitea use internal git config (#19732)
* Refactor git module, make Gitea use internal git config, add safe.directory config * introduce git.InitSimple and git.InitWithConfigSync, make serv cmd use gitconfig * use HOME instead of GIT_CONFIG_GLOBAL, because git always needs a correct HOME * fix cmd env in cmd/serv.go * fine tune error message * Fix a incorrect test case * fix configAddNonExist * fix configAddNonExist logic, add `--fixed-value` flag, add tests * add configSetNonExist function in case it's needed. * use configSetNonExist for `user.name` and `user.email` * add some comments * Update cmd/serv.go Co-authored-by: zeripath <art27@cantab.net> * Update cmd/serv.go Co-authored-by: zeripath <art27@cantab.net> * Update modules/git/git.go Co-authored-by: zeripath <art27@cantab.net> * Update modules/setting/setting.go Co-authored-by: zeripath <art27@cantab.net> * Update modules/git/repo_attribute.go Co-authored-by: zeripath <art27@cantab.net> * fix spaces in messages * use `configSet("core.protectNTFS", ...)` instead of `globalCommandArgs` * remove GIT_CONFIG_NOSYSTEM, continue to use system's git config * Update cmd/serv.go Co-authored-by: zeripath <art27@cantab.net> * fix merge * remove code for safe.directory * separate git.CommonEnvs to CommonGitCmdEnvs and CommonCmdServEnvs * avoid Golang's data race error Co-authored-by: zeripath <art27@cantab.net> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
This commit is contained in:
		@@ -274,8 +274,8 @@ func prepareTestEnv(t testing.TB, skip ...int) func() {
 | 
			
		||||
	deferFn := PrintCurrentTest(t, ourSkip)
 | 
			
		||||
	assert.NoError(t, unittest.LoadFixtures())
 | 
			
		||||
	assert.NoError(t, util.RemoveAll(setting.RepoRootPath))
 | 
			
		||||
 | 
			
		||||
	assert.NoError(t, unittest.CopyDir(path.Join(filepath.Dir(setting.AppPath), "integrations/gitea-repositories-meta"), setting.RepoRootPath))
 | 
			
		||||
	assert.NoError(t, git.InitWithConfigSync(context.Background()))
 | 
			
		||||
	ownerDirs, err := os.ReadDir(setting.RepoRootPath)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		assert.NoError(t, err, "unable to read the new repo root: %v\n", err)
 | 
			
		||||
@@ -576,6 +576,7 @@ func resetFixtures(t *testing.T) {
 | 
			
		||||
	assert.NoError(t, unittest.LoadFixtures())
 | 
			
		||||
	assert.NoError(t, util.RemoveAll(setting.RepoRootPath))
 | 
			
		||||
	assert.NoError(t, unittest.CopyDir(path.Join(filepath.Dir(setting.AppPath), "integrations/gitea-repositories-meta"), setting.RepoRootPath))
 | 
			
		||||
	assert.NoError(t, git.InitWithConfigSync(context.Background()))
 | 
			
		||||
	ownerDirs, err := os.ReadDir(setting.RepoRootPath)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		assert.NoError(t, err, "unable to read the new repo root: %v\n", err)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user