Thursday, July 21, 2016

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

Leave a Comment

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.

4 Answers

Answers 1

That error message was seen in "Where does git config --global get written to?"

The problem was a second .gitconfig in this folder:

C:\Users\myUser.config\git\config 

Minor nitpick, that error message will change with Git 2.9.x/2.10 (Q3 2016)

See commit 3a39f61, commit dc72b50 (10 Jun 2016) by Peter Colberg (``).
(Merged by Junio C Hamano -- gitster -- in commit 9d3d0db, 06 Jul 2016)

config.c: fix misspelt "occurred" in an error message

-       die(_("unknown error occured while reading the configuration files")); +       die(_("unknown error occurred while reading the configuration files"));                                  ^^ 

Answers 2

Check for C:\users\mylogin.gitconfig if you dont find here go to C:\user\myLogin.git.gitconfig and see if it has Read permission to You, Give full control for you in security .

Answers 3

I had the exact same problem and it was even not solved after a complete re-install of git.

To solve this, create an empty .gitconfig file in:

C:\Users\<username>\AppData\Local\ 

I hope it has helped you.

Answers 4

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.

If You Enjoyed This, Take 5 Seconds To Share It

0 comments:

Post a Comment