[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#39452: [PATCH] vc-git-state fails for filenames with wildcards
From: |
Wolfgang Scherer |
Subject: |
bug#39452: [PATCH] vc-git-state fails for filenames with wildcards |
Date: |
Fri, 7 Feb 2020 23:31:52 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.1 |
Am 07.02.20 um 18:25 schrieb Wolfgang Scherer:
> Hi Dmitry,
>
> Am 07.02.20 um 00:00 schrieb Dmitry Gutov:
>> On 06.02.2020 16:59, Wolfgang Scherer wrote:
>>> When a filename contains shell wildcard characters matching one or more
>>> files, e.g. `test[56].xx` matching both `test5.xx` and `test6.xx`:
>>> The command `vc-git-state` does not work correctly.
>>>
>>> The attched patch fixes this:
>>>
>>> - (status (apply #'vc-git--run-command-string file args)))
>>> + (status (apply #'vc-git--run-command-string (shell-quote-argument
>>> file) args)))
>>>
>> Thanks for the report and the patch.
>>
>> I wonder how many other backends commands are broken for files like that: we
>> basically never shell-quote file names.
After some research, it seems that adding a pathspec magic to commands that
support this feature is the best solution.
Here is a patch that applies vc-git--literal-pathspec,
vc-git--literal-pathspecs to some git commands in vc-git.el. I have tested all
augmented commands in the shell and some in emacs.
(defun vc-git--literal-pathspec-inner (pathspec)
"Prepend :(literal) path magic to PATHSPEC."
(concat ":(literal)" pathspec))
(defun vc-git--literal-pathspec (pathspec)
"Prepend :(literal) path magic to PATHSPEC."
(and pathspec (vc-git--literal-pathspec-inner pathspec)))
(defun vc-git--literal-pathspecs (pathspecs)
"Prepend :(literal) path magic to PATHSPECS."
(mapcar #'vc-git--literal-pathspec-inner pathspecs))
0001-vc-git-state-fails-for-filenames-with-wildcards.patch
Description: Text Data
- bug#39452: [PATCH] vc-git-state fails for filenames with wildcards, (continued)
- bug#39452: [PATCH] vc-git-state fails for filenames with wildcards, Noam Postavsky, 2020/02/12
- bug#39452: [PATCH] vc-git-state fails for filenames with wildcards, Wolfgang Scherer, 2020/02/13
- bug#39452: [PATCH] vc-git-state fails for filenames with wildcards, Dmitry Gutov, 2020/02/13
- bug#39452: [PATCH] vc-git-state fails for filenames with wildcards, Eli Zaretskii, 2020/02/14
- bug#39452: [PATCH] vc-git-state fails for filenames with wildcards, Dmitry Gutov, 2020/02/14
- bug#39452: [PATCH] vc-git-state fails for filenames with wildcards, Eli Zaretskii, 2020/02/14
- bug#39452: [PATCH] vc-git-state fails for filenames with wildcards, Dmitry Gutov, 2020/02/14
- bug#39452: [PATCH] vc-git-state fails for filenames with wildcards, Eli Zaretskii, 2020/02/14
- bug#39452: [PATCH] vc-git-state fails for filenames with wildcards, Dmitry Gutov, 2020/02/14
bug#39452: [PATCH] vc-git-state fails for filenames with wildcards, Wolfgang Scherer, 2020/02/07
- bug#39452: [PATCH] vc-git-state fails for filenames with wildcards,
Wolfgang Scherer <=