Alexander Johansen Alexander Johansen - 3 months ago 11
Git Question

Git - fatal: unknown error occured while reading the configuration files

Not sure if this is the correct place to post this problem, but:

When I try to do just about anything in my Git bash window, I get this error:

fatal: unknown error occured while reading the configuration files


Git error fatal unknown error occured while reading the configuration files

I tried several re-installs under different configurations and attempted numerous reboots to no help. I was questioning my username on Windows, since it has a dot (.) in it. Could that confuse Git for some reason? And if so: Is there a work-around?

I also cannot seem to locate where my config files are, since the command to find it is broken with the same error message.




I searched my computer for
.gitconfig
files. I found a total of 4 files:



  • C:\Program Files\Git\mingw64\etc\.gitconfig

  • C:\Program Files\Git\usr\share\vim\vim74\ftplugin\.gitconfig

  • C:\Program Files\Git\usr\share\vim\vim74\indent\.gitconfig

  • C:\Program Files\Git\usr\share\vim\vim74\syntax\.gitconfig



Here are the content of each file

...\Git\mingw64\etc.gitconfig

[credential]
helper = manager


...\Git\usr\share\vim\vim74\ftplugin.gitconfig

" Vim filetype plugin
" Language: git config file
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2009 Dec 24

" Only do this when not done yet for this buffer
if (exists("b:did_ftplugin"))
finish
endif
let b:did_ftplugin = 1

setlocal formatoptions-=t formatoptions+=croql
setlocal comments=:#,:; commentstring=;\ %s

let b:undo_ftplugin = "setl fo< com< cms<"


...\Git\usr\share\vim\vim74\indent.gitconfig

" Vim indent file
" Language: git config file
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2013 May 30

if exists("b:did_indent")
finish
endif
let b:did_indent = 1

setlocal autoindent
setlocal indentexpr=GetGitconfigIndent()
setlocal indentkeys=o,O,*<Return>,0[,],0;,0#,=,!^F

let b:undo_indent = 'setl ai< inde< indk<'

" Only define the function once.
if exists("*GetGitconfigIndent")
finish
endif

function! GetGitconfigIndent()
let line = getline(prevnonblank(v:lnum-1))
let cline = getline(v:lnum)
if line =~ '\\\@<!\%(\\\\\)*\\$'
" odd number of slashes, in a line continuation
return 2 * &sw
elseif cline =~ '^\s*\['
return 0
elseif cline =~ '^\s*\a'
return &sw
elseif cline == '' && line =~ '^\['
return &sw
else
return -1
endif
endfunction


Git\usr\share\vim\vim74\syntax.gitconfig

" Vim syntax file
" Language: git config file
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Filenames: gitconfig, .gitconfig, *.git/config
" Last Change: 2010 May 21

if exists("b:current_syntax")
finish
endif

setlocal iskeyword+=-
setlocal iskeyword-=_
syn case ignore
syn sync minlines=10

syn match gitconfigComment "[#;].*"
syn match gitconfigSection "\%(^\s*\)\@<=\[[a-z0-9.-]\+\]"
syn match gitconfigSection '\%(^\s*\)\@<=\[[a-z0-9.-]\+ \+\"\%([^\\"]\|\\.\)*"\]'
syn match gitconfigVariable "\%(^\s*\)\@<=\a\k*\%(\s*\%([=#;]\|$\)\)\@=" nextgroup=gitconfigAssignment skipwhite
syn region gitconfigAssignment matchgroup=gitconfigNone start=+=\s*+ skip=+\\+ end=+\s*$+ contained contains=gitconfigBoolean,gitconfigNumber,gitConfigString,gitConfigEscape,gitConfigError,gitconfigComment keepend
syn keyword gitconfigBoolean true false yes no contained
syn match gitconfigNumber "\d\+" contained
syn region gitconfigString matchgroup=gitconfigDelim start=+"+ skip=+\\+ end=+"+ matchgroup=gitconfigError end=+[^\\"]\%#\@!$+ contained contains=gitconfigEscape,gitconfigEscapeError
syn match gitconfigError +\\.+ contained
syn match gitconfigEscape +\\[\\"ntb]+ contained
syn match gitconfigEscape +\\$+ contained

hi def link gitconfigComment Comment
hi def link gitconfigSection Keyword
hi def link gitconfigVariable Identifier
hi def link gitconfigBoolean Boolean
hi def link gitconfigNumber Number
hi def link gitconfigString String
hi def link gitconfigDelim Delimiter
hi def link gitconfigEscape Delimiter
hi def link gitconfigError Error

let b:current_syntax = "gitconfig"





I run Windows 7 x64 Professional. The computer is part of a domain network.

I Googled this problem and gave up when I came to page 11 with nothing useful.

Answer

Ok. So I found the solution, and it is embarrassingly simple!

All you need to do is run git-bash.exe as administrator.

I went into C:\Program Files\Git and set git-bash.exe to always run as administrator. That way I can still use my right-click shortcut and have it run as administrator automatically.

Right-click the git-bash.exe file and choose properties. Go under the compatibility tab and check the checkbox at the bottom that says "Run this program as administrator". Click OK, and problem should be solved.

Comments