microsoft / microsoft/VFSForGit

Tracking: ProjFS regression with buffer resizing

Open
#1,696 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

affects: engineering type: test-reliability
Dominant language
C#
Stars
6.1k
Forks
474
Avg merge
2d 4h
Merged PRs (30d)
8

Description

While working on the GIt 2.29.0 update, we noticed that projections were failing to match vanilla Git when it came to the GVFlt_MoveFileTests/LongFileName folder. The root cause is that ProjFS updated recently in response to a security bug, but that fix included a change to how it handles resizing filename buffers.

With the help of @wilbaker and @cgallred, we discovered the root cause, and the ProjFS team is working on a fix.

In order to get us unblocked, we need to stop testing this scenario until ProjFS ships to the Azure Pipelines build machines.

  1. Remove the GVFlt_MoveFileTests/LongFileName folder in the test repo (using new branches FunctionalTests/20201014*)
  2. Point VFS for Git functional tests to that branch, and ignore any tests that care about that folder. (#1697)
  3. Periodically check if we can revert that change to the functional tests.
  4. Revert the test changes.

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

Check whether the ProjFS fix has reached the Azure Pipelines build machines, then review the functional-test changes associated with #1697 and the FunctionalTests/20201014* branches. Done means confirming the LongFileName scenario can be restored and reverting the temporary test-repository and VFS for Git test changes.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, csharp, git
Domain
devops, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.