{"thread":{"id":"59121","subject":"Redirect isn't working:","startedAt":"2023-01-19T18:06:34Z","lastAt":"2023-03-27T09:38:34Z","messageCount":3,"participants":["Jack Adrian Zappa","brian m. carlson","Johannes Schindelin"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"470721","messageId":"CAKepmaibtbRsKqmiZEtDNoLHWr=JyZ7Fhang4dnmw5ROGmBQTQ@mail.gmail.com","threadId":"59121","inReplyTo":null,"subject":"Redirect isn't working:","fromName":"Jack Adrian Zappa","fromEmail":"adrianh.bsc@gmail.com","sentAt":"2023-01-19T18:06:17Z","receivedAt":"2023-01-19T18:06:34Z","isPatch":false,"sender":{"key":"adrianh.bsc@gmail.com","avatar":null},"body":"Here is the filled out form for submitting a bug report:\n\nWhat did you do before the bug happened? (Steps to reproduce your issue)\n\n  At the command line, I typed the following command:\n\n  $ git diff --no-index --word-diff --color=always <(od -An -t x1\n-w10000000000 file1.txt) <(od -An -t x1 -w10000000000 file2.txt)\n\nWhat did you expect to happen? (Expected behavior)\n\n  I expected to see the diff of the two files.\n\nWhat happened instead? (Actual behavior)\n\n  Instead I saw this:\n\n  error: Could not access '/proc/1961/fd/63'\n\nWhat's different between what you expected and what actually happened?\n\n  The difference is that I would get the difference between the two\nfiles as opposed to a critical failure message.\n\nAnything else you want to add:\n\n  Nope.\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.38.1.windows.1\ncpu: x86_64\nbuilt from commit: b85c8f604d375d4d773a36842964e8a7ec056aae\nsizeof-long: 4\nsizeof-size_t: 8\nshell-path: /bin/sh\nfeature: fsmonitor--daemon\nuname: Windows 10.0 19044\ncompiler info: gnuc: 12.2\nlibc info: no libc information available\n$SHELL (typically, interactive shell): C:\\Program Files\\Git\\usr\\bin\\bash.exe\n\n\n[Enabled Hooks]\nnot run from a git repository - no hooks to show\n"},{"id":"470760","messageId":"Y8nyi2QxQN0+kOOk@tapette.crustytoothpaste.net","threadId":"59121","inReplyTo":"CAKepmaibtbRsKqmiZEtDNoLHWr=JyZ7Fhang4dnmw5ROGmBQTQ@mail.gmail.com","subject":"Re: Redirect isn't working:","fromName":"brian m. carlson","fromEmail":"sandals@crustytoothpaste.net","sentAt":"2023-01-20T01:46:51Z","receivedAt":"2023-01-20T01:47:00Z","isPatch":false,"sender":{"key":"sandals@crustytoothpaste.net","avatar":"https://avatars.githubusercontent.com/u/497054?v=4"},"body":"On 2023-01-19 at 18:06:17, Jack Adrian Zappa wrote:\n> Here is the filled out form for submitting a bug report:\n> \n> What did you do before the bug happened? (Steps to reproduce your issue)\n> \n>   At the command line, I typed the following command:\n> \n>   $ git diff --no-index --word-diff --color=always <(od -An -t x1\n> -w10000000000 file1.txt) <(od -An -t x1 -w10000000000 file2.txt)\n> \n> What did you expect to happen? (Expected behavior)\n> \n>   I expected to see the diff of the two files.\n> \n> What happened instead? (Actual behavior)\n> \n>   Instead I saw this:\n> \n>   error: Could not access '/proc/1961/fd/63'\n> \n> What's different between what you expected and what actually happened?\n> \n>   The difference is that I would get the difference between the two\n> files as opposed to a critical failure message.\n\nThanks for the report.  This has come up before (and I attempted a\npatch), but the ultimate problem here is that the /proc/PID/fd/* files\nare symlinks on Linux, and instead of dereferencing symlinks, Git tries\nto read them and print where they point to.  That doesn't work in this\ncase because the symlinks are symlinks to anonymous pipes, which can't\nbe resolved.\n\nOn other systems, the behaviour may be different because those files may\nbe represented differently.\n\nMy patch attempted to solve this by simply opening the contents instead\nof stat'ing them as normal, but I think we found some edge cases and it\ndidn't get finished.  Note that this behaviour is what plain diff does\nbecause it doesn't handle symlinks at all.\n-- \nbrian m. carlson (he/him or they/them)\nToronto, Ontario, CA\n"},{"id":"474227","messageId":"77173c7d-095d-4d98-a54a-7b2d60ee103c@gmx.de","threadId":"59121","inReplyTo":"Y8nyi2QxQN0+kOOk@tapette.crustytoothpaste.net","subject":"Re: Redirect isn't working:","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2023-03-27T09:38:19Z","receivedAt":"2023-03-27T09:38:34Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi brian & Jack,\n\nOn Fri, 20 Jan 2023, brian m. carlson wrote:\n\n> On 2023-01-19 at 18:06:17, Jack Adrian Zappa wrote:\n> > Here is the filled out form for submitting a bug report:\n> >\n> > What did you do before the bug happened? (Steps to reproduce your issue)\n> >\n> >   At the command line, I typed the following command:\n> >\n> >   $ git diff --no-index --word-diff --color=always <(od -An -t x1\n> > -w10000000000 file1.txt) <(od -An -t x1 -w10000000000 file2.txt)\n> >\n> > What did you expect to happen? (Expected behavior)\n> >\n> >   I expected to see the diff of the two files.\n> >\n> > What happened instead? (Actual behavior)\n> >\n> >   Instead I saw this:\n> >\n> >   error: Could not access '/proc/1961/fd/63'\n> >\n> > What's different between what you expected and what actually happened?\n> >\n> >   The difference is that I would get the difference between the two\n> > files as opposed to a critical failure message.\n>\n> Thanks for the report.  This has come up before (and I attempted a\n> patch), but the ultimate problem here is that the /proc/PID/fd/* files\n> are symlinks on Linux, and instead of dereferencing symlinks, Git tries\n> to read them and print where they point to.  That doesn't work in this\n> case because the symlinks are symlinks to anonymous pipes, which can't\n> be resolved.\n>\n> On other systems, the behaviour may be different because those files may\n> be represented differently.\n>\n> My patch attempted to solve this by simply opening the contents instead\n> of stat'ing them as normal, but I think we found some edge cases and it\n> didn't get finished.  Note that this behaviour is what plain diff does\n> because it doesn't handle symlinks at all.\n\nPlease note that this is not about a bug in Git itself, but in the MSYS2\nBash that Git for Windows includes in its distribution.\n\nThe technical details are quite involved, and I wrote up a ticket here, in\ncase somebody is up for a real good challenge:\nhttps://github.com/git-for-windows/git/issues/4266\n\nCiao,\nJohannes\n"}]}