From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?utf-8?Q?=C3=93scar_Fuentes?= Newsgroups: gmane.emacs.devel Subject: Re: support for bzr shelve/unshelve in vc-dir Date: Wed, 02 Dec 2009 04:31:36 +0100 Message-ID: <87iqcq59wn.fsf@telefonica.net> References: <200912011947.nB1JlaAp027561@godzilla.ics.uci.edu> <200912020303.nB2336c4000773@godzilla.ics.uci.edu> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1259724741 12369 80.91.229.12 (2 Dec 2009 03:32:21 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 2 Dec 2009 03:32:21 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Dec 02 04:32:14 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 1NFfwr-0002I8-Uv for ged-emacs-devel@m.gmane.org; Wed, 02 Dec 2009 04:32:14 +0100 Original-Received: from localhost ([127.0.0.1]:33019 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NFfwr-0007fm-Ez for ged-emacs-devel@m.gmane.org; Tue, 01 Dec 2009 22:32:13 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NFfwm-0007fS-TQ for emacs-devel@gnu.org; Tue, 01 Dec 2009 22:32:08 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NFfwi-0007e0-LT for emacs-devel@gnu.org; Tue, 01 Dec 2009 22:32:08 -0500 Original-Received: from [199.232.76.173] (port=58205 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NFfwi-0007dx-GU for emacs-devel@gnu.org; Tue, 01 Dec 2009 22:32:04 -0500 Original-Received: from lo.gmane.org ([80.91.229.12]:53172) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1NFfwh-000164-SD for emacs-devel@gnu.org; Tue, 01 Dec 2009 22:32:04 -0500 Original-Received: from list by lo.gmane.org with local (Exim 4.50) id 1NFfwg-0002FS-1U for emacs-devel@gnu.org; Wed, 02 Dec 2009 04:32:02 +0100 Original-Received: from 112.red-83-38-73.dynamicip.rima-tde.net ([83.38.73.112]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 02 Dec 2009 04:32:02 +0100 Original-Received: from ofv by 112.red-83-38-73.dynamicip.rima-tde.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 02 Dec 2009 04:32:02 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 40 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 112.red-83-38-73.dynamicip.rima-tde.net User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux) Cancel-Lock: sha1:1zkFSMWHLi/bZTNl2+/bKHfG5I4= X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 3) 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:118105 Archived-At: Dan Nicolaescu writes: > Stefan Monnier writes: > > > > If yes, I can try to whip up a patch before the feature freeze... > > > > There's no hurry on my side. I'm probably more eager to see support for > > things like pull/push. > > The "no problem" case for those is easy, just run the corresponding > command. > If someone does the design for those, I can help with the implementation. Being vc/vc-dir, I guess that the design must cover all dominant dVCS today (git, mercurial, bazaar). I remember just a bit about git, and know nothing about mercurial but, for the case of bazaar, adding basic support for pull/push/merge seems fairly easy: execute the command, report the result and refresh the displayed VC info. One extra goodie that is not too hard to implement is to support an invocation mode where the user can provide an alternative location (C-u perhaps?). IIRC you must provide a location when you invoke push/merge for the first time on Bazaar, so detecting and handling this condition may be a bit tricky. Providing a location would be useful for `diff' too, for showing the differences among two branches. A system for storing named bookmarks (locations) so you are not forced to write the same cumbersome URLs again and again and use names instead would be very handy. I don't know how much work this requires. Finally, implementing invocation parameters for supporting all the useful variants 'merge' has seems a bit daunting to integrate on the current interface and maybe warrants using a specific buffer where you can preview what's available for merging (retrieved with `missing' or with `diff') and then choose how to perform the operarion. This seems very backend-dependent and a lot of work, but would add a lot of value to vc/vc-dir. -- Óscar