From mboxrd@z Thu Jan 1 00:00:00 1970 From: Johannes Schindelin Subject: Re: Heads up: major rebase -i -p rework coming up Date: Sun, 25 Jan 2009 03:05:38 +0100 (CET) Message-ID: References: <200901242347.23187.trast@student.ethz.ch> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Cc: git@vger.kernel.org, Stephen Haberman , spearce@spearce.org, =?ISO-8859-15?Q?Bj=F6rn_Steinbrink?= To: Thomas Rast X-From: git-owner@vger.kernel.org Sun Jan 25 03:07:19 2009 Return-path: Envelope-to: gcvg-git-2@gmane.org Received: from vger.kernel.org ([209.132.176.167]) by lo.gmane.org with esmtp (Exim 4.50) id 1LQuOv-0003FR-8a for gcvg-git-2@gmane.org; Sun, 25 Jan 2009 03:07:05 +0100 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754483AbZAYCFN (ORCPT ); Sat, 24 Jan 2009 21:05:13 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754060AbZAYCFM (ORCPT ); Sat, 24 Jan 2009 21:05:12 -0500 Received: from mail.gmx.net ([213.165.64.20]:56246 "HELO mail.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1751689AbZAYCFL (ORCPT ); Sat, 24 Jan 2009 21:05:11 -0500 Received: (qmail invoked by alias); 25 Jan 2009 02:05:09 -0000 Received: from pD9EB3F9A.dip0.t-ipconnect.de (EHLO noname) [217.235.63.154] by mail.gmx.net (mp039) with SMTP; 25 Jan 2009 03:05:09 +0100 X-Authenticated: #1490710 X-Provags-ID: V01U2FsdGVkX18G7zwqeJIGE0hNp91Y2tX0qSpEZoHdQs7JY++pnh X5g4qGQiIkv9oR X-X-Sender: gene099@racer In-Reply-To: <200901242347.23187.trast@student.ethz.ch> User-Agent: Alpine 1.00 (DEB 882 2007-12-20) X-Y-GMX-Trusted: 0 X-FuHaFi: 0.58 Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Archived-At: Hi, On Sat, 24 Jan 2009, Thomas Rast wrote: > Johannes Schindelin wrote: > > Worse, the whole concept of "pick " just does not fly well. > [...] > > - merge $sha1 [$sha1...] was $sha1 "Merge ..." > > > > will merge the given list of commits into the current HEAD, for > > the user's reference and to keep up-to-date what was rewritten, the > > original merge is shown after the keyword "was" (which is not a valid > > SHA-1, luckily) > > I really like the underlying idea. I'm not even sure if the current > semantics are well-defined in all cases; an explicit merge command at > least makes it very clear what is going on. > > However, I think the syntax as proposed above is a bit confusing in the > usual two-parent merge. I couldn't tell whether > > merge A was B > > was intended to be read as "the merge of A into the current branch" or > "the merge with sha1 A" right away, and I doubt I'll be able to tell > without looking in the (rare) cases I have to invoke rebase -i -p. > > I can't really come up with a better replacement for 'was', so how about > > merge A # was B "Merge..." > > which would make it more clear that the "was B..." has no effect > whatsoever on the merge's semantics. Hmm. You're right, that is not really intuitive. How about merge (B) A # Merge... instead? > > A - B - - - E > > \ / > > C - D > > > > could yield this TODO script: > > > > pick A > > pick C > > pick D > > goto A' > > pick B > > merge D' was E > > I kind of wonder if it would be possible to decorate the TODO with > 'git log --graph' output, to make it easier to follow the history as > it is built. I wondered about that, too, and abandoned it as my common operation is cut & past lines around. The result would look _utterly_ confusing. Maybe I should have mentioned that to spare you the brain cycles thinking about --graph... Ciao, Dscho