From mboxrd@z Thu Jan  1 00:00:00 1970
Path: news.gmane.org!not-for-mail
From: Masatake YAMATO <jet@gyve.org>
Newsgroups: gmane.emacs.devel
Subject: Re: vc-dired
Date: Sat, 28 Jul 2007 16:06:06 +0900 (JST)
Message-ID: <20070728.160606.131927928.jet@gyve.org>
References: <200707211727.l6LHRAC5017861@oogie-boogie.ics.uci.edu>
	<jwvfy3huo8t.fsf-monnier+emacs@gnu.org>
	<200707231818.l6NIIZe3011091@oogie-boogie.ics.uci.edu>
NNTP-Posting-Host: lo.gmane.org
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Trace: sea.gmane.org 1185606423 9549 80.91.229.12 (28 Jul 2007 07:07:03 GMT)
X-Complaints-To: usenet@sea.gmane.org
NNTP-Posting-Date: Sat, 28 Jul 2007 07:07:03 +0000 (UTC)
Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org
To: dann@ics.uci.edu
Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Jul 28 09:06:56 2007
Return-path: <emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org>
Envelope-to: ged-emacs-devel@m.gmane.org
Original-Received: from lists.gnu.org ([199.232.76.165])
	by lo.gmane.org with esmtp (Exim 4.50)
	id 1IEgO7-0005Ul-QU
	for ged-emacs-devel@m.gmane.org; Sat, 28 Jul 2007 09:06:56 +0200
Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.43)
	id 1IEgO7-0005WH-AH
	for ged-emacs-devel@m.gmane.org; Sat, 28 Jul 2007 03:06:55 -0400
Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43)
	id 1IEgO4-0005WC-52
	for emacs-devel@gnu.org; Sat, 28 Jul 2007 03:06:52 -0400
Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43)
	id 1IEgO2-0005Vo-JY
	for emacs-devel@gnu.org; Sat, 28 Jul 2007 03:06:51 -0400
Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.43) id 1IEgO2-0005Vl-Em
	for emacs-devel@gnu.org; Sat, 28 Jul 2007 03:06:50 -0400
Original-Received: from mx20.gnu.org ([199.232.41.8])
	by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32)
	(Exim 4.60) (envelope-from <jet@gyve.org>) id 1IEgO1-0008Em-IP
	for emacs-devel@gnu.org; Sat, 28 Jul 2007 03:06:49 -0400
Original-Received: from mo11.iij4u.or.jp ([210.138.174.79])
	by mx20.gnu.org with esmtp (Exim 4.60) (envelope-from <jet@gyve.org>)
	id 1IEgNy-0003Ij-Um
	for emacs-devel@gnu.org; Sat, 28 Jul 2007 03:06:47 -0400
Original-Received: by mo.iij4u.or.jp (mo11) id l6S76ENn027112;
	Sat, 28 Jul 2007 16:06:14 +0900
Original-Received: from localhost (h219-110-077-149.catv01.itscom.jp [219.110.77.149])
	by mbox.iij4u.or.jp (mbox11) id l6S765qV009866;
	Sat, 28 Jul 2007 16:06:09 +0900
In-Reply-To: <200707231818.l6NIIZe3011091@oogie-boogie.ics.uci.edu>
X-Mailer: Mew version 5.2 on Emacs 22.1.50 / Mule 5.0 (SAKAKI)
X-detected-kernel: Linux 2.6, seldom 2.4 (older, 4)
X-detected-kernel: Linux 2.6, seldom 2.4 (older, 4)
X-BeenThere: emacs-devel@gnu.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Emacs development discussions." <emacs-devel.gnu.org>
List-Unsubscribe: <http://lists.gnu.org/mailman/listinfo/emacs-devel>,
	<mailto:emacs-devel-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/pipermail/emacs-devel>
List-Post: <mailto:emacs-devel@gnu.org>
List-Help: <mailto:emacs-devel-request@gnu.org?subject=help>
List-Subscribe: <http://lists.gnu.org/mailman/listinfo/emacs-devel>,
	<mailto:emacs-devel-request@gnu.org?subject=subscribe>
Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org
Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org
Xref: news.gmane.org gmane.emacs.devel:75738
Archived-At: <http://permalink.gmane.org/gmane.emacs.devel/75738>

> Stefan Monnier <monnier@iro.umontreal.ca> writes:
> 
>   > >> I was interested in merge DVC to GNU Emacs. However, these days, I am
>   > >> busy and I get interests to extend vc-dired, so I've just asked DVC
>   > >> developers to assign another people for working on the merging task.
>   > 
>   > > Given that you are interested in vc-dired, can you please look into
>   > > these issues: 
>   > 
>   > > - pass --ignore= to ls so that it does not recurse into things like
>   > >   .svn directories
>   > 
>   > At least the vc.el part of VC should simply not use `ls' or any such thing
>   > and shouldn't recurse into directories.  It should simply ask the backend to
>   > do it (the backend can then use "cvs -n update" or "svn status" ...).
>   > That'll be blindingly faster.
> 
> I would go even farther, IMVHO the "dired" part of the interface for
> vc-dired is not that useful: the 4 top-level menu entries are not very
> useful in the VC context, there's no top level menu for VC operations
> and the files not under VC are not shown by default (it would be good
> to see them so they can be vc-registered if desired).
> It seems to me that a cvs-status like UI would be preferable to
> vc-dired.

Here is the first very small patch.
Do you think menu item "Version Control" is too long? 
"VC" is better?

Reorganizing the the 4 top-level is not done yet. I think we have to 
think about integrating version control own command and the menu entries.

     svn rm and "Operate"=>"Rename To" menu item.

In a directory which is version-control'ed by svn, vc-dired user may
expect "svn rm" is run when s/he invoke "Operate"=>"Rename To" menu
item.

Index: vc.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/vc.el,v
retrieving revision 1.444
diff -c -F define-derived-mode -r1.444 vc.el
*** vc.el	26 Jul 2007 18:44:37 -0000	1.444
--- vc.el	28 Jul 2007 06:59:09 -0000
***************   ;; define-derived-mode does it for us 
*** 2192,2197 ****
--- 2192,2201 ----
    ;; We do it here because dired might not be loaded yet
    ;; when vc-dired-mode-map is initialized.
    (set-keymap-parent vc-dired-mode-map dired-mode-map)
+   ;; Add menu after `vc-dired-mode-map' has `dired-mode-map' as the parent.
+   (let ((vc-dire-menu-map (copy-keymap vc-menu-map)))
+     (define-key-after (lookup-key vc-dired-mode-map [menu-bar]) [vc] 
+       (cons "Version Control" vc-dire-menu-map) 'subdir))
    (add-hook 'dired-after-readin-hook 'vc-dired-hook nil t)
    ;; The following is slightly modified from files.el,
    ;; because file lines look a bit different in vc-dired-mode