sublimehq / sublime_merge

Issue tracker for Sublime Merge
https://www.sublimemerge.com
272 stars 14 forks source link

Failure to handle paths with tildes #1883

Open RobinWragg opened 3 months ago

RobinWragg commented 3 months ago

Version info

Description

If a source file has a path containing a tilde (~), two problems occur:

Steps to reproduce

  1. Open a repository with commits to files containing tildes, for example "~myFolder/myFile.txt"
  2. Run command "Blame" from the command palette and select a file with a tilde in the path.
  3. You will see no commits and no blame view.

You should see commits to the file, and the blame view of the selected commit.

Debug Information === App Version Information === Build: 2091

=== Git Version Information === Using Git: C:\Program Files\Sublime Merge\Git\cmd\git.exe (bundled) git version 2.39.1.windows.1 PATH: C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\intel64\compiler;C:\Python310\Scripts\;C:\Python310\;C:\Program Files (x86)\IntelSWTools\system_studio_2020\OpenCL\sdk\bin\x64;C:\Program Files (x86)\IntelSWTools\system_studio_2020\OpenCL\sdk\bin\x86;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\libnvvp;C:\Python38\Scripts\;C:\Python38\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Program Files\Git\cmd;C:\Program Files\nodejs\;C:\ProgramData\chocolatey\bin;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\NVIDIA Corporation\Nsight Compute 2020.1.2\;C:\Program Files (x86)\AMD APP SDK\3.0\bin\x86_64;C:\Program Files (x86)\AMD APP SDK\3.0\bin\x86;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\Microsoft Team Foundation Server 2015 Power Tools\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\CMake\bin;C:\Program Files\dotnet\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\LLVM\bin;C:\Users\robin\AppData\Local\Programs\Python\Python311\Scripts\;C:\Users\robin\AppData\Local\Programs\Python\Python311\;C:\Users\robin\AppData\Local\Microsoft\WindowsApps;C:\Users\robin\AppData\Roaming\npm;C:\Program Files\Sublime Merge;C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build;C:\rwbin;C:\Users\robin\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\robin.dotnet\tools

=== Browse Page Information === HEAD: 447e543000fb37384eb510e1f9adb33b2f4d3f6d Is in merge: 0 Is in cherry_pick: 0 Is in rebase: 0 Is in revert: 0

=== Git Status Information === M [[REDACTED]] M [[REDACTED]] M ~Common/[[REDACTED]] M ~Common/[[REDACTED]] M ~Common/[[REDACTED]]

=== Our Status Information === M [[REDACTED]] M [[REDACTED]] M ~Common/[[REDACTED]] M ~Common/[[REDACTED]] M ~Common/[[REDACTED]]

=== Git Config Information === branch.[[REDACTED]] branch.[[REDACTED]] branch.[[REDACTED]] branch.[[REDACTED]] branch.[[REDACTED]][[REDACTED]] branch.[[REDACTED]] branch.[[REDACTED]] branch.[[REDACTED]] branch.main.merge=refs/heads/main branch.main.remote=origin branch.[[REDACTED]].merge=refs/heads/[[REDACTED]] branch.[[REDACTED]].remote=origin color.interactive=true color.ui=auto core.autocrlf=input core.bare=false core.editor="C:\Program Files\Sublime Text 3\subl.exe" -w core.filemode=false core.fscache=true core.ignorecase=true core.logallrefupdates=true core.repositoryformatversion=0 core.symlinks=false credential.helper=manager-core credential.https://dev.azure.com.usehttppath=true diff.astextplain.textconv=astextplain filter.lfs.clean=git-lfs clean -- %f filter.lfs.process=git-lfs filter-process filter.lfs.required=true filter.lfs.smudge=git-lfs smudge -- %f help.format=html http.sslbackend=openssl http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt include.path=C:/Program Files/Git/etc/gitconfig pack.packsizelimit=2g pull.rebase=true rebase.autosquash=true rebase.autostash=true remote.origin.fetch=+refs/heads/:refs/remotes/origin/ remote.origin.url=[[REDACTED]] user.email=[[REDACTED]] user.name=[[REDACTED]]

=== Our Config Information === Git Config Path Information Using config path: /C/ProgramData/Git/config Using config path: /C/Program Files/Sublime Merge/Git/etc/gitconfig Using config path: /C/Users/robin/.config/git/config Using config path: /C/Users/robin/.gitconfig Using config path: /c/git/plugins/.git/config

Our config output is identical to the Git config output

=== Git Attributes Information === git check_attr --all output [[REDACTED]] [[REDACTED]] ~Common/[[REDACTED]] ~Common/[[REDACTED]] ~Common/[[REDACTED]]

=== Our Modified Files Newline Normalisation and EOL Information === [[REDACTED]]: input - native [[REDACTED]]: input - native ~Common/[[REDACTED]] ~Common/[[REDACTED]] ~Common/[[REDACTED]]

=== Our Modified Files Flag Information === Ignoring symlinks: 1 [[REDACTED]]: Working - Normal File : Index - Normal File [[REDACTED]]: Working - Normal File : Index - Normal File ~Common/[[REDACTED]] ~Common/[[REDACTED]] ~Common/[[REDACTED]]

dpjohnst commented 3 months ago

G'day @RobinWragg,

Thanks for reporting this - I've identified the cause of the issue and I'm working on a fix at the moment. I'll update you once the fix is out.

Cheers, - Dylan from Sublime HQ