Skip to content

修复 Windows 共享目录下的长路径和权限差异问题 - #2830

Open
young8i wants to merge 1 commit into
sourcegit-scm:developfrom
young8i:codex/windows-working-copy-upstream
Open

young8i wants to merge 1 commit into
sourcegit-scm:developfrom
young8i:codex/windows-working-copy-upstream

Conversation

@young8i

@young8i young8i commented Oct 28, 2026

Copy link
Copy Markdown

在 Windows 中通过 macOS 共享目录访问 Git 仓库时,长路径可能导致未修改的文件被误报为修改或删除,暂存时也可能出现 Filename too long。共享目录上的可执行权限识别差异还可能使内容未变的文件显示为已修改。

本次修改:

  • 在 Windows 下为 Git 命令启用长路径支持。
  • 增加按仓库设置的 Windows 选项,用于忽略工作区的可执行权限差异,并在状态查询、差异查看、暂存和补丁导出中保持一致。
  • 在本地变更查询失败时提示错误并保留已有列表;暂存失败时恢复操作状态。
  • 在差异视图中明确提示文件权限变化。

验证情况:

  • 基于上游最新 develop 完成项目构建,并通过 dotnet format --verify-no-changes。
  • 在 Linux 中模拟 Windows 的 Git 参数策略,使用真实 Git 验证状态查询、暂存、补丁导出、取消查询和仓库隔离。
  • 在 Windows ARM64 虚拟机中测试 macOS 共享目录:长路径状态警告消失,启用仓库选项后,仅有可执行权限差异的文件不再显示为修改。

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant