In a nutshell Windows Vista and Win7 have a normal feature called the VirtualStore folder which redirects certain WRITE operations to a location not intended by the application. If that application or another then attempts to read the data directly from the folder where it was supposed to be, it will either find the file missing or else find an older version of the file created by a different process.

Many users of Win7 are unaware of this "feature" and could eventually end up making commits that become "lost" or changing git configs only to find them wrong later (I found the file "/git/etc/gitconfig" in my "VirtualStore" and in my "Program Files" folders and they did *not* match).

A workflow procedure needs to be developed and documented to prevent users from accidentally or unknowingly becoming victims of this Microsoft "feature".

The discussion thread here really spells out why this is bad when you are dealing with any kind of distributed database systems (which is one way to think of git) ... look for the comment about half-way down the 1st page that starts with:

It is a feature which YOU don't understand or which you are not WILLING to understand.
"A programmer is just a tool which converts caffeine into code"
CLIP- Stellvertreter

Thank you for your useless opinion. Typical response from some one who thinks they understand the situation better than the person asking the question that you find on every forum on the internet. I did not ask for your opinion of my understanding, nor your opinion of why virtual store is good or even how it works, I simply wanted to know how to stop it from working as perfectly as you seem to think it does.

I COMPLETELY understand this "feature". It's Microsoft attempt at a multi-user environment, it's their attempt to protect program and system files from malicious code and incompetent users. Despite this and Microsoft best efforts, the bumbling morons we refer to as users, still manage to render equipment completely inoperable. Unfortunately I must support systems and customers that require live database files to be edited and not duplicated elsewhere. ...


CJack’s picture

This same problem can affect any "system emulators" or "emulated linux applications" which bypass normal windows file management ... case in point being the Oracle VirtualBox VM system which "lost" a 1.4 GIGABYTE file into the VirtualStore folder using the "VBoxManage clonehd" process.

eliza411’s picture

I invite you to create a page as a child of Troubleshooting Git to document this, even if you haven't worked out a procedure for solving the issue. Once solutions are proposed, they can be folded in.

eliza411’s picture

Project: Git on » Documentation
Component: Documentation » Missing documentation

I'm going to try moving this to the Documentation queue to see if we get any takers on writing the docs. I really think it's unlikely that anyone else understands the issue well enough to take it on, though.

mjohnq3’s picture

I added some documentation under Troubleshooting Git ( concerning this issue.

eliza411’s picture

Status: Active » Fixed

And look at me be wrong :) Thanks mjohnq3, your addition looks great.

mjohnq3’s picture

Melissa, Thanks so much... and you're very welcome.

Automatically closed -- issue fixed for 2 weeks with no activity.