You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Git repository in a VirtioFS shared folder is not discovered in the guest after host-side Git operations
#738
I am using a host folder shared with a VirtualBuddy VM through VirtioFS.
The Git repository was originally cloned from inside the guest VM directly into the shared folder. The repository, including its .git directory, is therefore stored on the shared filesystem.
My workflow is:
Clone and manage the repository from inside the guest VM because the Git server is only accessible from the guest's internal network.
Edit the working tree from the macOS host through the same shared folder.
Occasionally perform local Git operations from the host, such as creating or switching to a new branch.
Return to the guest VM and continue using Git.
After creating a branch from the host, running a Git command in the guest, for example:
git branch -r
fails with: Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: not a git repository (or any parent up to mount point ...)
The shared folder remains mounted during the entire process. The VM is not suspended, and the shared directory is not manually unmounted or remounted.
Important clarification
I understand that git branch -r only displays remote-tracking branches and will not display a local branch created on the host.
The issue is not that the newly created local branch is absent from git branch -r. The issue is that Git fails to discover the repository at all and reports the filesystem-boundary error.
If the host and guest are accessing the same shared .git directory, I would expect:
git branch
git status
git rev-parse --show-toplevel
to continue working in the guest after a host-side Git operation.
Steps to reproduce
Configure a host folder as a VirtualBuddy shared folder.
Mount the shared folder in the guest through VirtioFS.
From inside the guest, clone a repository into the shared folder:
cd /path/to/VirtualBuddyShared
git clone test-repository
cd test-repository
git status
On the host, open the same shared repository.
Modify one or more files.
Create and switch to a local branch on the host:
git switch -c test-host-branch
Return to the guest and enter the repository using its guest-side absolute path.
The guest should continue to recognize the shared directory as a Git repository.
A local branch created on the host should be visible with:
git branch
The command git branch -r may not show that local branch, but it should execute without a repository-discovery error.
Actual behavior
Git fails to discover the repository and stops when it reaches the VirtioFS mount boundary:
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
Additional questions
Is concurrent host/guest access to a Git working tree stored in a VirtualBuddy VirtioFS shared folder expected to be supported?
Does VirtualBuddy or Apple's Virtualization framework cache directory entries or Git metadata such as .git/HEAD, .git/index, or .git/refs?
Could Git's atomic lock-and-rename operations on files such as .git/index.lock or files under .git/refs cause the guest to temporarily lose visibility of the repository?
Is there a recommended workflow for editing on the host while performing Git and build operations in the guest?
Environment
VirtualBuddy version: 2.2(402)
Host macOS version: 26.5.2 (25F84)
Guest macOS/Linux version:
Host architecture: Apple Silicon <M1/M2/M3/M4>
Host Git version: <output of git --version>
Guest Git version: <output of git --version>
Shared-folder mount method: VirtioFS
Repository type: regular clone / linked worktree:
Diagnostic information
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Description
I am using a host folder shared with a VirtualBuddy VM through VirtioFS.
The Git repository was originally cloned from inside the guest VM directly into the shared folder. The repository, including its
.gitdirectory, is therefore stored on the shared filesystem.My workflow is:
After creating a branch from the host, running a Git command in the guest, for example:
fails with:
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: not a git repository (or any parent up to mount point ...)
The shared folder remains mounted during the entire process. The VM is not suspended, and the shared directory is not manually unmounted or remounted.
Important clarification
I understand that git branch -r only displays remote-tracking branches and will not display a local branch created on the host.
The issue is not that the newly created local branch is absent from git branch -r. The issue is that Git fails to discover the repository at all and reports the filesystem-boundary error.
If the host and guest are accessing the same shared .git directory, I would expect:
git branch
git status
git rev-parse --show-toplevel
to continue working in the guest after a host-side Git operation.
Steps to reproduce
Configure a host folder as a VirtualBuddy shared folder.
Mount the shared folder in the guest through VirtioFS.
From inside the guest, clone a repository into the shared folder:
cd /path/to/VirtualBuddyShared
git clone test-repository
cd test-repository
git status
On the host, open the same shared repository.
Modify one or more files.
Create and switch to a local branch on the host:
git switch -c test-host-branch
Return to the guest and enter the repository using its guest-side absolute path.
Run:
git status
git branch
git branch -r
git rev-parse --show-toplevel
Expected behavior
The guest should continue to recognize the shared directory as a Git repository.
A local branch created on the host should be visible with:
git branch
The command git branch -r may not show that local branch, but it should execute without a repository-discovery error.
Actual behavior
Git fails to discover the repository and stops when it reaches the VirtioFS mount boundary:
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
Additional questions
Is concurrent host/guest access to a Git working tree stored in a VirtualBuddy VirtioFS shared folder expected to be supported?
Does VirtualBuddy or Apple's Virtualization framework cache directory entries or Git metadata such as .git/HEAD, .git/index, or .git/refs?
Could Git's atomic lock-and-rename operations on files such as .git/index.lock or files under .git/refs cause the guest to temporarily lose visibility of the repository?
Is there a recommended workflow for editing on the host while performing Git and build operations in the guest?
Environment
VirtualBuddy version: 2.2(402)
Host macOS version: 26.5.2 (25F84)
Guest macOS/Linux version:
Host architecture: Apple Silicon <M1/M2/M3/M4>
Host Git version: <output of git --version>
Guest Git version: <output of git --version>
Shared-folder mount method: VirtioFS
Repository type: regular clone / linked worktree:
Diagnostic information
All reactions