* bug#50175: 28.0.50; tramp is hooked into C-x d (vc-dir) but not C-x = (vc-doff)
@ 2021-08-23 22:09 Steingold
2021-08-25 13:26 ` Ola x Nilsson
0 siblings, 1 reply; 5+ messages in thread
From: Steingold @ 2021-08-23 22:09 UTC (permalink / raw)
To: 50175
when editing a remote file, vc-dir shows the *vc-dir* buffer correctly,
but vc-diff in the same buffer fails:
--8<---------------cut here---------------start------------->8---
Debugger entered--Lisp error: (error "Failed (status 128): git --no-pager diff-index --exit-code -p HEAD -- :(literal)/scp:remote:/path/file.py")
signal(error ("Failed (status 128): git --no-pager diff-index --exit-code -p HEAD -- :(literal)/scp:remote:/path/file.py"))
error("Failed (%s): %s" "status 128" "git --no-pager diff-index --exit-code -p HEAD -- :(literal)/scp:remote:/path/file.py")
vc-do-command("*vc-diff*" 1 "git" (":(literal)/scp:remote:/path/file.py") "--no-pager" "diff-index" "--exit-code" "-p" "HEAD" nil "--")
apply(vc-do-command "*vc-diff*" 1 "git" (":(literal)/scp:remote:/path/file.py") ("--no-pager" "diff-index" "--exit-code" "-p" "HEAD" nil "--"))
vc-git-command("*vc-diff*" 1 (":(literal)/scp:remote:/path/file.py") "diff-index" "--exit-code" "-p" "HEAD" nil "--")
apply(vc-git-command "*vc-diff*" 1 (":(literal)/scp:remote:/path/file.py") "diff-index" "--exit-code" ("-p" "HEAD" nil "--"))
vc-git-diff(("/scp:remote:/path/file.py") nil nil "*vc-diff*" t)
apply(vc-git-diff (("/scp:remote:/path/file.py") nil nil "*vc-diff*" t))
vc-call-backend(Git diff ("/scp:remote:/path/file.py") nil nil "*vc-diff*" t)
vc-diff-internal(t (Git ("/scp:remote:/path/file.py")) nil nil t)
vc-diff(nil t)
funcall-interactively(vc-diff nil t)
call-interactively(vc-diff nil nil)
command-execute(vc-diff)
--8<---------------cut here---------------end--------------->8---
Same error on = (vc-diff) in the *vc-dir* buffer.
I am pretty sure this is a regression from about 2-3 weeks ago.
(vc-next-action also fails)
In GNU Emacs 28.0.50 (build 5, x86_64-apple-darwin19.6.0, NS appkit-1894.60 Version 10.15.7 (Build 19H1323))
of 2021-08-23 built on 3c22fb11fdab.ant.amazon.com
Repository revision: 00edc8329a6277f2e5b5204efbe503e2b7957006
Repository branch: master
Windowing system distributor 'Apple', version 10.3.1894
System Description: Mac OS X 10.15.7
Configured using:
'configure --with-imagemagick --with-mailutils --with-ns
PKG_CONFIG_PATH=/usr/local/opt/libxml2/lib/pkgconfig:/usr/local/opt/imagemagick/lib/pkgconfig:/usr/local/opt/gnutls/lib/pkgconfig:/usr/local/opt/jansson/lib/pkgconfig:/usr/local/opt/libtiff/lib/pkgconfig:/usr/local/opt/libpng/lib/pkgconfig:/usr/local/opt/libjpeg/lib/pkgconfig:/usr/local/opt/freetype/lib/pkgconfig'
Configured features:
ACL GMP GNUTLS IMAGEMAGICK JPEG JSON LCMS2 LIBXML2 MODULES NOTIFY KQUEUE
NS PDUMPER PNG THREADS TIFF TOOLKIT_SCROLL_BARS ZLIB
Important settings:
value of $LC_MESSAGES: C
value of $LANG: C
locale-coding-system: utf-8-unix
Major mode: Org
Minor modes in effect:
pyvenv-mode: t
shell-dirtrack-mode: t
flyspell-mode: t
global-edit-server-edit-mode: t
winner-mode: t
which-function-mode: t
url-handler-mode: t
show-paren-mode: t
desktop-save-mode: t
tooltip-mode: t
global-eldoc-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
column-number-mode: t
line-number-mode: t
auto-fill-function: org-auto-fill-function
abbrev-mode: t
Load-path shadows:
None found.
Features:
(shadow sort bbdb-message mailalias cookie1 mail-extr gnus-msg emacsbug
sendmail vc-mtn vc-src vc-sccs vc-svn vc-cvs vc-rcs vc-dir ewoc cl-print
debug backtrace dabbrev skeleton misearch multi-isearch rx color
autoload lisp-mnt mm-archive gnutls network-stream url-http url-gw nsm
url-cache url-auth finder-inf package add-log vc-hg vc-bzr tramp-cache
remember vc cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles
cc-align cc-engine cc-vars cc-defs bug-reference conf-mode
company-oddmuse company-keywords company-etags company-gtags
company-dabbrev-code company-dabbrev company-files company-clang
company-template company-cmake company-bbdb yasnippet-snippets yasnippet
flymake-proc flymake company-capf company pcase help-fns radix-tree elpy
edmacro kmacro elpy-rpc pyvenv eshell esh-cmd esh-ext esh-opt esh-proc
esh-io esh-arg esh-module esh-groups esh-util elpy-shell elpy-profile
elpy-django s elpy-refactor ido grep compile etags fileloop xref project
cus-edit pp cus-start python tramp-sh tramp tramp-loaddefs trampver
tramp-integration files-x tramp-compat shell ls-lisp flyspell ispell
org-element avl-tree generator ol-eww eww xdg url-queue thingatpt mm-url
ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-search eieio-opt
cl-extra help-mode speedbar ezimage dframe gnus-art mm-uu mml2015
mm-view mml-smime smime dig gnus-sum shr kinsoku svg dom browse-url url
url-proxy url-privacy url-expand url-methods url-history url-cookie
url-domsuf url-util mailcap gnus-group gnus-undo gnus-start gnus-dbus
dbus xml gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo parse-time
gnus-spec gnus-int gnus-range message rmc puny rfc822 mml mml-sec epa
derived epg epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231
gmm-utils mailheader gnus-win ol-docview doc-view jka-compr image-mode
exif ol-bibtex bibtex iso8601 ol-bbdb ol-w3m org ob ob-tangle ob-ref
ob-lob ob-table ob-exp org-macro org-footnote org-src ob-comint
org-pcomplete pcomplete comint ansi-color org-list org-faces
org-entities noutline outline org-version ob-emacs-lisp ob-core ob-eval
org-table ol org-keys org-compat org-macs org-loaddefs format-spec
find-func cal-x view cal-china cal-bahai cal-islam holidays hol-loaddefs
bbdb-anniv cal-iso cal-hebrew lunar cal-julian solar cal-dst vc-git
diff-mode easy-mmode vc-dispatcher appt diary-lib diary-loaddefs
cal-menu calendar cal-loaddefs dired-aux dired dired-loaddefs midnight
warnings gnus nnheader gnus-util rmail rmail-loaddefs rfc2047 rfc2045
ietf-drums text-property-search time-date mail-utils mm-util mail-prsvr
wid-edit bbdb-mua bbdb-com crm mailabbrev bbdb bbdb-site timezone
edit-server advice server winner ring which-func imenu url-handlers
url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs
password-cache json subr-x map seq byte-opt gv bytecomp byte-compile
cconv url-vars paren help-at-pt desktop frameset cl-loaddefs cl-lib
cus-load info iso-transl tooltip eldoc electric uniquify ediff-hook
vc-hooks lisp-float-type mwheel term/ns-win ns-win ucs-normalize
mule-util term/common-win tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu
timer select scroll-bar mouse jit-lock font-lock syntax font-core
term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese composite charscript charprop case-table epa-hook
jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button
loaddefs faces cus-face macroexp files window text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote threads kqueue cocoa ns lcms2
multi-tty make-network-process emacs)
Memory information:
((conses 16 1730297 264010)
(symbols 48 39892 1)
(strings 32 397217 56034)
(string-bytes 1 11710856)
(vectors 16 113387)
(vector-slots 8 1439079 162214)
(floats 8 943 538)
(intervals 56 172493 3877)
(buffers 992 62))
--
Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.1894
http://childpsy.net http://calmchildstories.com http://steingoldpsychology.com
https://jij.org https://jihadwatch.org http://think-israel.org
If you do not move, you will not feel the shackles.
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#50175: 28.0.50; tramp is hooked into C-x d (vc-dir) but not C-x = (vc-doff)
2021-08-23 22:09 bug#50175: 28.0.50; tramp is hooked into C-x d (vc-dir) but not C-x = (vc-doff) Steingold
@ 2021-08-25 13:26 ` Ola x Nilsson
2021-08-25 15:45 ` Steingold
0 siblings, 1 reply; 5+ messages in thread
From: Ola x Nilsson @ 2021-08-25 13:26 UTC (permalink / raw)
To: sds; +Cc: larsi, 50175, dgutov
On Mon, Aug 23 2021, Steingold wrote:
> when editing a remote file, vc-dir shows the *vc-dir* buffer correctly,
> but vc-diff in the same buffer fails:
>
> Debugger entered--Lisp error: (error "Failed (status 128): git --no-pager diff-index --exit-code -p HEAD -- :(literal)/scp:remote:/path/file.py")
> signal(error ("Failed (status 128): git --no-pager diff-index --exit-code -p HEAD -- :(literal)/scp:remote:/path/file.py"))
> error("Failed (%s): %s" "status 128" "git --no-pager diff-index --exit-code -p HEAD -- :(literal)/scp:remote:/path/file.py")
> vc-do-command("*vc-diff*" 1 "git" (":(literal)/scp:remote:/path/file.py") "--no-pager" "diff-index" "--exit-code" "-p" "HEAD" nil "--")
> apply(vc-do-command "*vc-diff*" 1 "git" (":(literal)/scp:remote:/path/file.py") ("--no-pager" "diff-index" "--exit-code" "-p" "HEAD" nil "--"))
> vc-git-command("*vc-diff*" 1 (":(literal)/scp:remote:/path/file.py") "diff-index" "--exit-code" "-p" "HEAD" nil "--")
> apply(vc-git-command "*vc-diff*" 1 (":(literal)/scp:remote:/path/file.py") "diff-index" "--exit-code" ("-p" "HEAD" nil "--"))
> vc-git-diff(("/scp:remote:/path/file.py") nil nil "*vc-diff*" t)
> apply(vc-git-diff (("/scp:remote:/path/file.py") nil nil "*vc-diff*" t))
> vc-call-backend(Git diff ("/scp:remote:/path/file.py") nil nil "*vc-diff*" t)
> vc-diff-internal(t (Git ("/scp:remote:/path/file.py")) nil nil t)
> vc-diff(nil t)
> funcall-interactively(vc-diff nil t)
> call-interactively(vc-diff nil nil)
> command-execute(vc-diff)
>
> Same error on = (vc-diff) in the *vc-dir* buffer.
>
> I am pretty sure this is a regression from about 2-3 weeks ago.
>
> (vc-next-action also fails)
This is the result of the git literal pathspec prefix being added in a
non-tramp-aware way. See bug #39452. The commits in question are
3502321403 Fix regressions in the last change
3572613550 Fix vc-git-state for filenames with wildcards
--
Ola Nilsson
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#50175: 28.0.50; tramp is hooked into C-x d (vc-dir) but not C-x = (vc-doff)
2021-08-25 13:26 ` Ola x Nilsson
@ 2021-08-25 15:45 ` Steingold
2021-08-26 1:51 ` Dmitry Gutov
0 siblings, 1 reply; 5+ messages in thread
From: Steingold @ 2021-08-25 15:45 UTC (permalink / raw)
To: Ola x Nilsson; +Cc: larsi, 50175, dgutov
Hi Ola, Lars, Dmitry,
> * Ola x Nilsson <byn.k.avyffba@nkvf.pbz> [2021-08-25 15:26:34 +0200]:
>
> On Mon, Aug 23 2021, Steingold wrote:
>
>> when editing a remote file, vc-dir shows the *vc-dir* buffer correctly,
>> but vc-diff in the same buffer fails:
>>
>> Debugger entered--Lisp error: (error "Failed (status 128): git --no-pager diff-index --exit-code
>> -p HEAD -- :(literal)/scp:remote:/path/file.py")
>> signal(error ("Failed (status 128): git --no-pager diff-index --exit-code -p HEAD --
>> :(literal)/scp:remote:/path/file.py"))
>> error("Failed (%s): %s" "status 128" "git --no-pager diff-index --exit-code -p HEAD --
>> :(literal)/scp:remote:/path/file.py")
>> vc-do-command("*vc-diff*" 1 "git" (":(literal)/scp:remote:/path/file.py") "--no-pager"
>> "diff-index" "--exit-code" "-p" "HEAD" nil "--")
>> apply(vc-do-command "*vc-diff*" 1 "git" (":(literal)/scp:remote:/path/file.py") ("--no-pager"
>> "diff-index" "--exit-code" "-p" "HEAD" nil "--"))
>> vc-git-command("*vc-diff*" 1 (":(literal)/scp:remote:/path/file.py") "diff-index" "--exit-code"
>> "-p" "HEAD" nil "--")
>> apply(vc-git-command "*vc-diff*" 1 (":(literal)/scp:remote:/path/file.py") "diff-index"
>> "--exit-code" ("-p" "HEAD" nil "--"))
>> vc-git-diff(("/scp:remote:/path/file.py") nil nil "*vc-diff*" t)
>> apply(vc-git-diff (("/scp:remote:/path/file.py") nil nil "*vc-diff*" t))
>> vc-call-backend(Git diff ("/scp:remote:/path/file.py") nil nil "*vc-diff*" t)
>> vc-diff-internal(t (Git ("/scp:remote:/path/file.py")) nil nil t)
>> vc-diff(nil t)
>> funcall-interactively(vc-diff nil t)
>> call-interactively(vc-diff nil nil)
>> command-execute(vc-diff)
>>
>> Same error on = (vc-diff) in the *vc-dir* buffer.
>>
>> I am pretty sure this is a regression from about 2-3 weeks ago.
>>
>> (vc-next-action also fails)
>
> This is the result of the git literal pathspec prefix being added in a
> non-tramp-aware way. See bug #39452. The commits in question are
>
> 3502321403 Fix regressions in the last change
> 3572613550 Fix vc-git-state for filenames with wildcards
I do have all these patches, but, alas, I still see the bug.
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=39452
has no messages for 10 days, I hope it is being worked on...
Thank you!
--
Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.1894
http://childpsy.net http://calmchildstories.com http://steingoldpsychology.com
https://thereligionofpeace.com https://memri.org https://honestreporting.com
Modern man is the missing link between apes and human beings.
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#50175: 28.0.50; tramp is hooked into C-x d (vc-dir) but not C-x = (vc-doff)
2021-08-25 15:45 ` Steingold
@ 2021-08-26 1:51 ` Dmitry Gutov
2021-08-26 6:14 ` Ola x Nilsson
0 siblings, 1 reply; 5+ messages in thread
From: Dmitry Gutov @ 2021-08-26 1:51 UTC (permalink / raw)
To: sds, Ola x Nilsson; +Cc: larsi, 50175-done
Hi!
On 25.08.2021 18:45, Steingold wrote:
> Hi Ola, Lars, Dmitry,
>
>> * Ola x Nilsson<byn.k.avyffba@nkvf.pbz> [2021-08-25 15:26:34 +0200]:
>>
>> On Mon, Aug 23 2021, Steingold wrote:
>>
>>> when editing a remote file, vc-dir shows the*vc-dir* buffer correctly,
>>> but vc-diff in the same buffer fails:
>>>
>>> Debugger entered--Lisp error: (error "Failed (status 128): git --no-pager diff-index --exit-code
>>> -p HEAD -- :(literal)/scp:remote:/path/file.py")
>>> signal(error ("Failed (status 128): git --no-pager diff-index --exit-code -p HEAD --
>>> :(literal)/scp:remote:/path/file.py"))
>>> error("Failed (%s): %s" "status 128" "git --no-pager diff-index --exit-code -p HEAD --
>>> :(literal)/scp:remote:/path/file.py")
>>> vc-do-command("*vc-diff*" 1 "git" (":(literal)/scp:remote:/path/file.py") "--no-pager"
>>> "diff-index" "--exit-code" "-p" "HEAD" nil "--")
>>> apply(vc-do-command "*vc-diff*" 1 "git" (":(literal)/scp:remote:/path/file.py") ("--no-pager"
>>> "diff-index" "--exit-code" "-p" "HEAD" nil "--"))
>>> vc-git-command("*vc-diff*" 1 (":(literal)/scp:remote:/path/file.py") "diff-index" "--exit-code"
>>> "-p" "HEAD" nil "--")
>>> apply(vc-git-command "*vc-diff*" 1 (":(literal)/scp:remote:/path/file.py") "diff-index"
>>> "--exit-code" ("-p" "HEAD" nil "--"))
>>> vc-git-diff(("/scp:remote:/path/file.py") nil nil "*vc-diff*" t)
>>> apply(vc-git-diff (("/scp:remote:/path/file.py") nil nil "*vc-diff*" t))
>>> vc-call-backend(Git diff ("/scp:remote:/path/file.py") nil nil "*vc-diff*" t)
>>> vc-diff-internal(t (Git ("/scp:remote:/path/file.py")) nil nil t)
>>> vc-diff(nil t)
>>> funcall-interactively(vc-diff nil t)
>>> call-interactively(vc-diff nil nil)
>>> command-execute(vc-diff)
>>>
>>> Same error on = (vc-diff) in the*vc-dir* buffer.
>>>
>>> I am pretty sure this is a regression from about 2-3 weeks ago.
>>>
>>> (vc-next-action also fails)
>> This is the result of the git literal pathspec prefix being added in a
>> non-tramp-aware way. See bug #39452. The commits in question are
>>
>> 3502321403 Fix regressions in the last change
>> 3572613550 Fix vc-git-state for filenames with wildcards
> I do have all these patches, but, alas, I still see the bug.
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=39452
> has no messages for 10 days, I hope it is being worked on...
We indeed applied a patch that's been lying around for a while and keep
finding regressions.
Now I was curious to see how we generally avoid passing remote file
names (in Tramp syntax) to Git and other VCS, and it turns out
vc-do-command, which almost all calls go though, converts all file names
to relative ones.
Which the new literal-pathspecs approach in vc-git conflicts with. I'm
still not loving the idea of a dynamic variable to enable/disable the
use of env var (fix for the problem we/I have met with the other
approach), but it's becoming increasingly attractive.
That said, I've just pushed a fix (commit 2b62b2a019), please see how it
works for you.
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#50175: 28.0.50; tramp is hooked into C-x d (vc-dir) but not C-x = (vc-doff)
2021-08-26 1:51 ` Dmitry Gutov
@ 2021-08-26 6:14 ` Ola x Nilsson
0 siblings, 0 replies; 5+ messages in thread
From: Ola x Nilsson @ 2021-08-26 6:14 UTC (permalink / raw)
To: Dmitry Gutov; +Cc: larsi@gnus.org, sds@gnu.org, 50175-done@debbugs.gnu.org
On Thu, Aug 26 2021, Dmitry Gutov wrote:
> Hi!
>
> On 25.08.2021 18:45, Steingold wrote:
>> Hi Ola, Lars, Dmitry,
>>
>>> * Ola x Nilsson<byn.k.avyffba@nkvf.pbz> [2021-08-25 15:26:34 +0200]:
>>>
>>> On Mon, Aug 23 2021, Steingold wrote:
>>>
>>>> when editing a remote file, vc-dir shows the*vc-dir* buffer correctly,
>>>> but vc-diff in the same buffer fails:
>>>>
<snip>
>>>>
>>>> Same error on = (vc-diff) in the*vc-dir* buffer.
>>>>
>>>> I am pretty sure this is a regression from about 2-3 weeks ago.
>>>>
>>>> (vc-next-action also fails)
>>> This is the result of the git literal pathspec prefix being added in a
>>> non-tramp-aware way. See bug #39452. The commits in question are
>>>
>>> 3502321403 Fix regressions in the last change
>>> 3572613550 Fix vc-git-state for filenames with wildcards
>> I do have all these patches, but, alas, I still see the bug.
>> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=39452
>> has no messages for 10 days, I hope it is being worked on...
Sorry, I was not as clear as I should have been. The two commits above
introduced the problem. Reverting them made vc-git work over tramp for
me again.
> We indeed applied a patch that's been lying around for a while and keep
> finding regressions.
>
> Now I was curious to see how we generally avoid passing remote file
> names (in Tramp syntax) to Git and other VCS, and it turns out
> vc-do-command, which almost all calls go though, converts all file names
> to relative ones.
>
> Which the new literal-pathspecs approach in vc-git conflicts with. I'm
> still not loving the idea of a dynamic variable to enable/disable the
> use of env var (fix for the problem we/I have met with the other
> approach), but it's becoming increasingly attractive.
>
> That said, I've just pushed a fix (commit 2b62b2a019), please see how it
> works for you.
I did some light testing, and vc-diff and vc-annotate work for me now
with git over tramp.
--
Ola Nilsson
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-08-26 6:14 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-08-23 22:09 bug#50175: 28.0.50; tramp is hooked into C-x d (vc-dir) but not C-x = (vc-doff) Steingold
2021-08-25 13:26 ` Ola x Nilsson
2021-08-25 15:45 ` Steingold
2021-08-26 1:51 ` Dmitry Gutov
2021-08-26 6:14 ` Ola x Nilsson
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).