microsoft / microsoft/VFSForGit

directory not accessible after merge from remote

Open
#1,612 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C#
Stars
6.1k
Forks
474
Avg merge
2d 4h
Merged PRs (30d)
8

Description

I am trying to merge a remote that refers to a different repository into
the current GVFS enabled repo, but after merging the src/ directory
becomes inaccessible and it is not possible to list or cd to this dir.

Here is what I have done:

$ gvfs clone https://myserver.xx/Sandbox/_git/foo
Clone parameters:
  Repo URL:     https://myserver.xx/Sandbox/_git/foo
  Branch:       Default
  Cache Server: Default
  Local Cache:  C:\.gvfsCache
  Destination:  C:\git\foo
Authenticating...Succeeded
Querying remote for config...Succeeded
Using cache server: None (https://myserver.xx/Sandbox/_git/foo)
Cloning...Succeeded
Fetching commits and trees from origin (no cache server)...Succeeded
Attaching ProjFS to volume...Succeeded
Validating repo...Succeeded
Mounting...Succeeded
Registering for automount...Succeeded
$ cd ./foo/src
$ git remote add -f upstream //net.xx/git/repo.git
Updating upstream
warning: no common commits
remote: Enumerating objects: 1878, done.
remote: Counting objects: 100% (1878/1878), done.
remote: Compressing objects: 100% (661/661), done.
Receiving objects:  90% (1691remote: Total 1878 (delta 1199), reused 1848 (delta 1198)
Receiving objects: 100% (1878/1878), 1.82 MiB | 5.85 MiB/s, done.
Resolving deltas: 100% (1199/1199), done.
From //net.xx/git/repo.git
... (branches)
$ git merge upstream/master --allow-unrelated-histories
CONFLICT (add/add): Merge conflict in .gitignore
Auto-merging .gitignore
Automatic merge failed; fix conflicts and then commit the result.

At this point the last git command never returns. I can taskkill the
git process but afterwards I cannot list contents of src. It is also
not possible to list the contents of C:\git\foo\src from another terminal
cmd or Git bash.

I am unsure how to proceed in finding out what goes wrong here,
any help would be appreciated!

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the sequence from the issue in a GVFS-enabled repository: clone foo, add the unrelated upstream remote, merge upstream/master, and resolve the .gitignore conflict. Start by observing the hanging git merge and the subsequent inability to list or enter src; done means identifying the failure and restoring directory access after the merge.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, git
Domain
devtools, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.