{"thread":{"id":"63472","subject":"symlink issue in 2.49.0.windows.1","startedAt":"2025-05-16T21:49:19Z","lastAt":"2025-07-17T17:40:19Z","messageCount":2,"participants":["Conti, Chris","Johannes Schindelin"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"518312","messageId":"BN6PR13MB3091D0E52DBC0D6F60B6C95E9493A@BN6PR13MB3091.namprd13.prod.outlook.com","threadId":"63472","inReplyTo":null,"subject":"symlink issue in 2.49.0.windows.1","fromName":"Conti, Chris","fromEmail":"chris.conti@pega.com","sentAt":"2025-05-16T21:49:15Z","receivedAt":"2025-05-16T21:49:19Z","isPatch":false,"sender":{"key":"chris.conti@pega.com","avatar":null},"body":"What did you do before the bug happened? (Steps to reproduce your issue)\nI have an alias that enables core.symlinks from the command line:\n\nrelevant lines from my system gitconfig:\ncore.symlinks=false\n\nrelevant lines from my user .gitconfig:\ndifftool.bc4diredit.cmd=\"c:/Program Files/Beyond Compare 4/BCompare.exe\" -lro -expandall -solo \"$LOCAL\" \"$REMOTE\"\nalias.diffdirsym=-c core.symlinks=true difftool --dir-diff --tool=bc4diredit --no-prompt\n\nexecution (in a repo with a changed file)\ngit diffdirsym\n\nexecution environment\nelevated powershell 5.1 shell\n\nWhat did you expect to happen? (Expected behavior)\n\nfor the command to work\n\nWhat happened instead? (Actual behavior)\n\nreceived a \"Function not implemented\" error:\nerror: could not symlink '<redacted physical path to changed file>' to 'C:\\Users\\contc\\AppData\\Local\\Temp/git-difftool.a49272/right/<redacted relative path to copy of changed file>': Function not implemented\n\nWhat's different between what you expected and what actually happened?\n\nAnything else you want to add:\n\nverified the alias works in 2.48.1.windows.1\n\nPlease review the rest of the bug report below.\nYou can delete any lines you don't wish to share.\n\n\n[System Info]\ngit version:\ngit version 2.49.0.windows.1\ncpu: x86_64\nbuilt from commit: cca1f38702730b35f52c29efd62864b85e85ddcc\nsizeof-long: 4\nsizeof-size_t: 8\nshell-path: D:/git-sdk-64-build-installers/usr/bin/sh\nfeature: fsmonitor--daemon\nlibcurl: 8.12.1\nOpenSSL: OpenSSL 3.2.4 11 Feb 2025\nzlib: 1.3.1\nuname: Windows 10.0 19045\ncompiler info: gnuc: 14.2\nlibc info: no libc information available\n$SHELL (typically, interactive shell): <unset>\n\n\n[Enabled Hooks]\n\nChris Conti\nEmail: chris.conti@pega.com | pega.com\n\n"},{"id":"522225","messageId":"1904293c-bab8-4a1e-e8a5-045bdc13e754@gmx.de","threadId":"63472","inReplyTo":"BN6PR13MB3091D0E52DBC0D6F60B6C95E9493A@BN6PR13MB3091.namprd13.prod.outlook.com","subject":"Re: symlink issue in 2.49.0.windows.1","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2025-07-17T17:40:16Z","receivedAt":"2025-07-17T17:40:19Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"hi Chris,\n\nOn Fri, 16 May 2025, Conti, Chris wrote:\n\n> What did you do before the bug happened? (Steps to reproduce your issue)\n> I have an alias that enables core.symlinks from the command line:\n> \n> relevant lines from my system gitconfig:\n> core.symlinks=false\n\nIs this also the value `git config get --show-origin core.symlinks`\nreports?\n\n> \n> relevant lines from my user .gitconfig:\n> difftool.bc4diredit.cmd=\"c:/Program Files/Beyond Compare 4/BCompare.exe\" -lro -expandall -solo \"$LOCAL\" \"$REMOTE\"\n> alias.diffdirsym=-c core.symlinks=true difftool --dir-diff --tool=bc4diredit --no-prompt\n> \n> execution (in a repo with a changed file)\n> git diffdirsym\n> \n> execution environment\n> elevated powershell 5.1 shell\n> \n> What did you expect to happen? (Expected behavior)\n> \n> for the command to work\n> \n> What happened instead? (Actual behavior)\n> \n> received a \"Function not implemented\" error:\n> error: could not symlink '<redacted physical path to changed file>' to 'C:\\Users\\contc\\AppData\\Local\\Temp/git-difftool.a49272/right/<redacted relative path to copy of changed file>': Function not implemented\n\nThis looks very similar to the report in\nhttps://github.com/git-for-windows/git/issues/5517 (which I am constantly\nrunning out of time to help with, maybe you can?).\n\nThe culprit identified in this ticket is 8241ae63d821 (difftool: eliminate\nuse of global variables, 2025-02-05) which seems to have flipped the\ndefault of `--symlinks` inadvertently (as far as Windows is concerned,\nthat is).\n\nCiao,\nJohannes\n\n> \n> What's different between what you expected and what actually happened?\n> \n> Anything else you want to add:\n> \n> verified the alias works in 2.48.1.windows.1\n> \n> Please review the rest of the bug report below.\n> You can delete any lines you don't wish to share.\n> \n> \n> [System Info]\n> git version:\n> git version 2.49.0.windows.1\n> cpu: x86_64\n> built from commit: cca1f38702730b35f52c29efd62864b85e85ddcc\n> sizeof-long: 4\n> sizeof-size_t: 8\n> shell-path: D:/git-sdk-64-build-installers/usr/bin/sh\n> feature: fsmonitor--daemon\n> libcurl: 8.12.1\n> OpenSSL: OpenSSL 3.2.4 11 Feb 2025\n> zlib: 1.3.1\n> uname: Windows 10.0 19045\n> compiler info: gnuc: 14.2\n> libc info: no libc information available\n> $SHELL (typically, interactive shell): <unset>\n> \n> \n> [Enabled Hooks]\n> \n> Chris Conti\n> Email: chris.conti@pega.com | pega.com\n> \n> \n> \n"}]}