From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: VC command for showing outgoing changes Date: Tue, 13 Oct 2009 22:10:15 -0400 Message-ID: References: <200910132024.n9DKOHGj015040@godzilla.ics.uci.edu> <200910132115.n9DLFVRX015392@godzilla.ics.uci.edu> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1255486241 8041 80.91.229.12 (14 Oct 2009 02:10:41 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 14 Oct 2009 02:10:41 +0000 (UTC) Cc: emacs-devel@gnu.org To: Dan Nicolaescu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Oct 14 04:10:30 2009 Return-path: 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 1MxtJq-0001dh-LZ for ged-emacs-devel@m.gmane.org; Wed, 14 Oct 2009 04:10:26 +0200 Original-Received: from localhost ([127.0.0.1]:35026 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MxtJq-0006Ny-4D for ged-emacs-devel@m.gmane.org; Tue, 13 Oct 2009 22:10:26 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MxtJk-0006Nl-Td for emacs-devel@gnu.org; Tue, 13 Oct 2009 22:10:20 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MxtJg-0006NJ-SU for emacs-devel@gnu.org; Tue, 13 Oct 2009 22:10:20 -0400 Original-Received: from [199.232.76.173] (port=50842 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MxtJg-0006NG-PE for emacs-devel@gnu.org; Tue, 13 Oct 2009 22:10:16 -0400 Original-Received: from ironport2-out.teksavvy.com ([206.248.154.181]:37361 helo=ironport2-out.pppoe.ca) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MxtJg-00077p-Hl for emacs-devel@gnu.org; Tue, 13 Oct 2009 22:10:16 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AicFABLQ1EpMCqsb/2dsb2JhbACBUddAhC0Eh2qCdg X-IronPort-AV: E=Sophos;i="4.44,554,1249272000"; d="scan'208";a="47522580" Original-Received: from 76-10-171-27.dsl.teksavvy.com (HELO ceviche.home) ([76.10.171.27]) by ironport2-out.pppoe.ca with ESMTP; 13 Oct 2009 22:10:15 -0400 Original-Received: by ceviche.home (Postfix, from userid 20848) id 77E0CB40B9; Tue, 13 Oct 2009 22:10:15 -0400 (EDT) In-Reply-To: <200910132115.n9DLFVRX015392@godzilla.ics.uci.edu> (Dan Nicolaescu's message of "Tue, 13 Oct 2009 14:15:31 -0700 (PDT)") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux) X-detected-operating-system: by monty-python.gnu.org: Genre and OS details not recognized. X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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:116126 Archived-At: > You mean as a precondition of doing vc-outgoing? > I'd like to avoid tangling the two. vc-outgoing should be easy, and > similar to what we already do for `print-log', I am not so sure about > `push'. I think vc-outgoing can be useful even without a push > operation, just for showing the log and examining diffs. I agree that outgoing is not useless even without push, but push is more important: some of the `push' users use `outgoing', but all the `outgoing' users use `push'. Or close enough. > These are tree level operations, annotate and show-version work on > files. (Especially annotate, it's code really really wants a file) > And yes, show-version and annotate do not really make much sense for > anything that is not a single file log (directory logs, or multiple file > logs). Actually, they do make sense, except you have to specify the file on which you want to operate (presumably one of the files affected by the current revision at point). In any case the point is that there's no reason to treat those commands differently in log-view-mode and in outgoing-mode. I'm intetrested in figuring out what should be the differences between those two modes, the fewer the merrier. > I am not so sure there's a need for multiple inheritance, backends could > create vc--log-view-mode and vc--outgoing-mode derived from > log-view-mode and log-view-outgoing-mode, respectively. Most vc--log-view-mode basically setup regexps to recognize the format used by the backend. Presumably vc--outgoing-mode would have to setup exactly the same regexps, which is rather unsatisfactory. You could avoid this duplication if we had multiple inheritance. Stefan