mileszs / ack.vim

Vim plugin for the Perl module / CLI script 'ack'
Other
3.08k stars 396 forks source link

ag search results reported incorrectly in ack.vim's quickfix buffer, when source tree contains hard linked files #269

Open halfmanhalffish opened 4 years ago

halfmanhalffish commented 4 years ago

I have hard-linked files in my source tree. ag on the command line is not fooled by this because it ignores all files mentioned in .gitignore, and therefore returns only search results from the 'master' hard-linked source file. I can prove this by running the ag search on the command line with the same arguments that ack.vim is using and from the same working directory.

Weirdly however when ack.vim opens the quickfix buffer the search matches are reported as being from a non-master linked file, ie one that is listed in .gitignore, and which ag did not give in its results on the command line.

where lib/mdt.js is the 'master' hard linked source file:

$ ag -ws --nocolor --noheading --nobreak mdt_input lib/mdt.css:34:.mdt_input, .mdt_checkbox { lib/mdt.js:545: unit.html.summary.classList.add('mdt_input');

but in quickfix buffer: applications/RssReader/mdt.js|545| unit.html.summary.classList.add('mdt_input'); lib/mdt.css|34| .mdt_input, .mdt_checkbox {

applications/RssReader/mdt.js is hard-linked to lib/mdt.js