GIT_DISCOVERY_ACROSS_FILESYSTEM problem when working with terminal and MacFusion
Solution 1
Are you ssh'ing to a directory that's inside your work tree? If the root of your ssh mount point doesn't include the .git dir, then zsh won't be able to find git info. Make sure you're mounting something that includes the root of the repo.
As for GIT_DISCOVERY_ACROSS_FILESYSTEM, it doesn't do what you want. Git by default will stop at a filesystem boundary. If you turn that on (and it's just an env var), then git will cross the filesystem boundary and keep looking. However, that's almost never useful, because you'd be implying that you have a .git directory on your local machine that's somehow meant to manage a work tree that's comprised partially of an sshfs mount. That doesn't make much sense.
Solution 2
I got this error until I realized that I hadn't intialized a Git repository in that folder, on a mounted vagrant machine.
So I typed git init
and then git worked.
Solution 3
You will also get this if git doesn't have permissions to read the config files. It will just go up in the hierarchy tree until it needs to cross file systems.
Solution 4
Coming here from first Google hit:
You can turn off the behavior AND and warning by exporting GIT_DISCOVERY_ACROSS_FILESYSTEM=1
.
On heroku, if you heroku config:set GIT_DISCOVERY_ACROSS_FILESYSTEM=1
the warning will go away.
It's probably because you are building a gem from source and the gemspec shells out to git
, like many do today. So, you'll still get the warning fatal: Not a git repository (or any of the parent directories): .git
but addressing that is for another day :)
My answer is a duplicate of: - comment GIT_DISCOVERY_ACROSS_FILESYSTEM problem when working with terminal and MacFusion
Solution 5
My Problem was that I was not in the correct git directory that I just cloned.
![Ribena](https://i.stack.imgur.com/bzYWP.jpg?s=256&g=1)
Ribena
Complete rails newbie, fine with css and html. Very basic understanding of Javascript. Be nice!
Updated on July 28, 2022Comments
-
Ribena almost 2 years
I'm using MacFusion with OSXFuse(similar to MacFuse) to mount my server over SSH onto my office machine. When I cd into my rails work directory on the server, i can't see any git info in my zsh prompt. If i try a git pull origin, i get the following error message:
fatal: Not a git repository (or any parent up to mount parent /Volumes) Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set)
I know I can ssh to the server but then wouldn't I lose zsh autocorrection & history? Wouldn't I also need to set up textmate and other software to use ssh? And wouldn't I need to remote desktop to install DMG's and so on? All of that seems like a bit of a hassle.
Is there a better way to do what I want to do? Otherwise is there a way to enable GIT_DISCOVERY_ACROSS_FILESYSTEM?
PS - MacFusion can also mount the server over FTP - would that be preferable to SSH?
-
Ribena almost 13 yearsCheers. That was indeed the problem. As I had copied the directory to the server, .git was not present in the repo. All working fine after a git clone instead. Is what I'm doing a bad idea for any reason? Is there a better way to go about this?
-
Lily Ballard almost 13 years@Ribena: Using a git repo on an sshfs mount should be perfectly fine. But yeah, copying your git repo manually instead of doing a git clone isn't generally a great idea.
-
Brent Faust over 10 yearsGreat point -- so setting GIT_DISCOVERY_ACROSS_FILESYSTEM=1 will not solve it in that case. Creating a new ext4 drive in Fusion and doing the pull onto that volume solved it.
-
tbc0 about 9 yearsI love the principle of every
clone
d repo being independent, sync'd viapull
andpush
. I can imagine circumstances when I might want to keep two copies of the same repo in sync. Then I would usersync(1)
instead ofcp(1)
. Then I would get tired of that and go back to usingclone
,pull
, andpush
. :) -
mtnkodiak over 7 yearsThis was my situation as well. Thanks, from this git newbie.
-
carter over 6 yearsThis may cause issues for docker containers that are mounting volumes.
-
Max Candocia almost 6 yearsOn the Windows subsystem for Linux I had to
sudo chmod -R +777 .git
in the folder to get it to work. -
JustEngland over 5 years🤦 Thanks, this seemed so simple!