emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: vc-directory breakage


From: Dan Nicolaescu
Subject: Re: vc-directory breakage
Date: Mon, 05 May 2008 18:10:05 -0700

"Eric S. Raymond" <address@hidden> writes:

  > Dan Nicolaescu <address@hidden>:
  > > "Eric S. Raymond" <address@hidden> writes:
  > > 
  > >   > To my knowledge, VC is not in a broken state now.  Stefan fixed one of
  > >   > the blocker bugs yesterday, probably while I was flat on my back and
  > >   > hooked up to a heart monitor, and I got the other one this morning.
  > > 
  > > There still are some issues. This:
  > > 
  > > (defun vc-generic-status-printer (fileentry)
  > >   (let* ((file (vc-dir-fileinfo->name fileentry))
  > >          (backend (vc-responsible-backend file)))
  > >     (vc-call-backend backend 'status-printer fileentry)))
  > > 
  > > is not quite right. 
  > > (vc-dir-fileinfo->name fileentry) is not an absolute file name, doing
  > > vc-responsible-backend on that is not going to work.
  > 
  > Ah.  There's some Lisp function I need to wrap that arg in to make
  > it a full pathname, then; I've forgotten which it is, though

expand-file-name

  > > Also please put the backend in a buffer-local variable in the vc-dir
  > > buffer, that way all the vc-responsible-backend calls in vc-generic-* can 
be
  > > eliminated.  
  > > With that change this code will work.
  > > It does not work right now for at least hg, git and svn.
  > 
  > The recommended change may be a good idea, but I'm not sure.  Those backend
  > checks are now being done at file granularity because some people were vocal
  > about support for mixing multiple VCSes in a directory.    If we depended 
  > on a per-directory buffer-local variable, that would get more difficult.

Stefan just explained this one.

  > What is the actual failure you are seeing?

For a mercurial repo:

  intern(nil [0 0 0 0 Makefile\.mk 0 0 0 0 0 0 0 0 0 ~/r/hgtest/ 0 0])
  vc-file-getprop(nil vc-mtn-root)
  vc-mtn-root("Makefile.mk")
  vc-mtn-responsible-p("Makefile.mk")
  apply(vc-mtn-responsible-p "Makefile.mk")
  vc-call-backend(Mtn responsible-p "Makefile.mk")
  byte-code("address@hidden@address@hidden   address@hidden      address@hidden 
 \"address@hidden
  vc-responsible-backend("Makefile.mk")
  vc-generic-status-printer(("Makefile.mk" added 
[cl-struct-vc-hg-extra-fileinfo copied "Makefile"] nil nil nil))
  #[(G76001 data) "^HJ  !\210\302c\207" [G76001 data "\n"] 2](--ewoc--user-pp-- 
("Makefile.mk" added [cl-struct-vc-hg-extra-filei$
  apply(#[(G76001 data) "^HJ    !\210\302c\207" [G76001 data "\n"] 2] 
--ewoc--user-pp-- ("Makefile.mk" added [cl-struct-vc-hg-ext$
  (lambda (&rest --cl-rest--) (apply #[... "^HJ !\210\302c\207" [G76001 data 
"\n"] 2] (quote --ewoc--user-pp--) --cl-rest--))(("M$
  ewoc--refresh-node((lambda (&rest --cl-rest--) (apply #[... "^HJ      
!\210\302c\207" [G76001 data "\n"] 2] (quote --ewoc--user$
  ewoc-invalidate([cl-struct-ewoc #<buffer *vc-dir*> (lambda (&rest 
--cl-rest--) (apply #[... "^HJ      !\210\302c\207" [G76001 d$
  vc-dir-update((("config.h" missing nil) ("config.mk" edited nil) 
("dmenu_path" removed nil) ("b/c" edited nil) ("m/n" edited ni$
  #[(G37817 entries &optional more-to-come) "r^HJq\210\306      
^HJ\"\210\n?\205'address@hidden"address@hidden"\314\$
  apply(#[(G37817 entries &optional more-to-come) "r^HJq\210\306        
^HJ\"\210\n?\205'address@hidden"address@hidden
  (lambda (&rest --cl-rest--) (apply #[... "r^HJq\210\306       
^HJ\"\210\n?\205'address@hidden"address@hidden"\314\$
  vc-hg-after-dir-status((lambda (&rest --cl-rest--) (apply #[... 
"r^HJq\210\306        ^HJ\"\210\n?\205'address@hidden"\211^\\203$
  eval((vc-hg-after-dir-status (quote (lambda ... ...))))
  vc-exec-after((vc-hg-after-dir-status (quote (lambda ... ...))))
  vc-process-sentinel(#<process hg> "finished\n")





reply via email to

[Prev in Thread] Current Thread [Next in Thread]