From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Dan Nicolaescu Newsgroups: gmane.emacs.bugs Subject: bug#2964: vc-dir support for vc-mtn.el Date: Sat, 11 Apr 2009 08:31:48 -0700 (PDT) Message-ID: <200904111531.n3BFVmsM012824@godzilla.ics.uci.edu> Reply-To: Dan Nicolaescu , 2964@emacsbugs.donarmstrong.com NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1239464672 28237 80.91.229.12 (11 Apr 2009 15:44:32 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 11 Apr 2009 15:44:32 +0000 (UTC) To: bug-gnu-emacs Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Apr 11 17:45:51 2009 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1LsfOw-0006Ha-Qf for geb-bug-gnu-emacs@m.gmane.org; Sat, 11 Apr 2009 17:45:51 +0200 Original-Received: from localhost ([127.0.0.1]:47728 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LsfNY-000746-An for geb-bug-gnu-emacs@m.gmane.org; Sat, 11 Apr 2009 11:44:24 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LsfN7-0006pe-RX for bug-gnu-emacs@gnu.org; Sat, 11 Apr 2009 11:43:57 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LsfN3-0006ot-2y for bug-gnu-emacs@gnu.org; Sat, 11 Apr 2009 11:43:57 -0400 Original-Received: from [199.232.76.173] (port=57697 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LsfN2-0006oO-N8 for bug-gnu-emacs@gnu.org; Sat, 11 Apr 2009 11:43:52 -0400 Original-Received: from rzlab.ucr.edu ([138.23.92.77]:45689) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1LsfN2-0006Jj-1w for bug-gnu-emacs@gnu.org; Sat, 11 Apr 2009 11:43:52 -0400 Original-Received: from rzlab.ucr.edu (rzlab.ucr.edu [127.0.0.1]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n3BFhnGb000958; Sat, 11 Apr 2009 08:43:49 -0700 Original-Received: (from debbugs@localhost) by rzlab.ucr.edu (8.13.8/8.13.8/Submit) id n3BFe6Il032438; Sat, 11 Apr 2009 08:40:06 -0700 X-Loop: owner@emacsbugs.donarmstrong.com Resent-From: Dan Nicolaescu Resent-To: bug-submit-list@donarmstrong.com Resent-CC: Emacs Bugs Resent-Date: Sat, 11 Apr 2009 15:40:05 +0000 Resent-Message-ID: Resent-Sender: owner@emacsbugs.donarmstrong.com X-Emacs-PR-Message: report 2964 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Original-Received: via spool by submit@emacsbugs.donarmstrong.com id=B.123946402130975 (code B ref -1); Sat, 11 Apr 2009 15:40:05 +0000 Original-Received: (at submit) by emacsbugs.donarmstrong.com; 11 Apr 2009 15:33:41 +0000 X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. Original-Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n3BFXc6g030965 for ; Sat, 11 Apr 2009 08:33:39 -0700 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LsfD7-00025d-Uh for bug-gnu-emacs@gnu.org; Sat, 11 Apr 2009 11:33:37 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LsfD2-000244-K2 for bug-gnu-emacs@gnu.org; Sat, 11 Apr 2009 11:33:36 -0400 Original-Received: from [199.232.76.173] (port=41261 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LsfD2-000241-C4 for bug-gnu-emacs@gnu.org; Sat, 11 Apr 2009 11:33:32 -0400 Original-Received: from sallyv2.ics.uci.edu ([128.195.1.120]:50951) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_3DES_EDE_CBC_SHA1:24) (Exim 4.60) (envelope-from ) id 1LsfD1-0003Vr-TU for bug-gnu-emacs@gnu.org; Sat, 11 Apr 2009 11:33:32 -0400 Original-Received: from godzilla.ics.uci.edu (godzilla.ics.uci.edu [128.195.10.101]) by sallyv2.ics.uci.edu (8.13.8+Sun/8.13.8) with ESMTP id n3BFVnOE005164 for ; Sat, 11 Apr 2009 08:31:49 -0700 (PDT) Original-Received: (from dann@localhost) by godzilla.ics.uci.edu (8.13.8+Sun/8.13.6/Submit) id n3BFVmsM012824; Sat, 11 Apr 2009 08:31:48 -0700 (PDT) Original-Lines: 37 X-ICS-MailScanner-Information: Please contact the ISP for more information X-ICS-MailScanner-ID: n3BFVnOE005164 X-ICS-MailScanner: Found to be clean X-ICS-MailScanner-SpamCheck: not spam, SpamAssassin (score=-1.44, required 5, autolearn=disabled, ALL_TRUSTED -1.44) X-ICS-MailScanner-From: dann@godzilla.ics.uci.edu X-detected-operating-system: by monty-python.gnu.org: Solaris 10 (beta) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 3) Resent-Date: Sat, 11 Apr 2009 11:43:57 -0400 X-BeenThere: bug-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:27085 Archived-At: vc-mtn.el does not support vc-dir. The patch below adds that support. It reuses some regexps from elsewhere in the file. Archiving here so that it can be applied whenever it's acceptable. Index: vc-mtn.el =================================================================== RCS file: /cvsroot/emacs/emacs/lisp/vc-mtn.el,v retrieving revision 1.23 diff -u -3 -p -c -r1.23 vc-mtn.el cvs diff: conflicting specifications of output style *** vc-mtn.el 1 Apr 2009 20:01:19 -0000 1.23 --- vc-mtn.el 11 Apr 2009 07:44:39 -0000 *************** If nil, use the value of `vc-diff-switch *** 106,111 **** --- 106,126 ---- ((match-end 2) 'added) (t 'up-to-date))))) + (defun vc-mtn-after-dir-status (update-function) + (let (result) + (goto-char (point-min)) + (re-search-forward "Current branch: \\(.*\\)\nChanges against parent \\(.*\\)" nil t) + (while (re-search-forward + "^ \\(?:\\(patched \\)\\|\\(added \\)\\)\\(.*\\)$" nil t) + (cond ((match-end 1) (push (list (match-string 3) 'edited) result)) + ((match-end 2) (push (list (match-string 3) 'added) result)))) + (funcall update-function result))) + + (defun vc-mtn-dir-status (dir update-function) + (vc-mtn-command (current-buffer) 'async dir "status") + (vc-exec-after + `(vc-mtn-after-dir-status (quote ,update-function)))) + (defun vc-mtn-working-revision (file) ;; If `mtn' fails or returns status>0, or if the search fails, just ;; return nil.