All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Rast <trast@student.ethz.ch>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: git@vger.kernel.org,
	"Stephen Haberman" <stephen@exigencecorp.com>,
	spearce@spearce.org, "Björn Steinbrink" <B.Steinbrink@gmx.de>
Subject: Re: Heads up: major rebase -i -p rework coming up
Date: Sat, 24 Jan 2009 23:47:20 +0100	[thread overview]
Message-ID: <200901242347.23187.trast@student.ethz.ch> (raw)
In-Reply-To: <alpine.DEB.1.00.0901242056070.14855@racer>

[-- Attachment #1: Type: text/plain, Size: 1729 bytes --]

Johannes Schindelin wrote:
> Worse, the whole concept of "pick <merge-sha1>" 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.

> 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.  Perhaps something like

  *   pick A
  |\
  * | pick B
      goto A'
  | * pick C
  | * pick D
  |/
      goto B'
  *   merge D'  # was E

Well, maybe it's not such a good idea after all.

-- 
Thomas Rast
trast@{inf,student}.ethz.ch

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

  parent reply	other threads:[~2009-01-24 22:48 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-24 20:25 Heads up: major rebase -i -p rework coming up Johannes Schindelin
2009-01-24 20:37 ` Junio C Hamano
2009-01-24 21:04   ` Johannes Schindelin
2009-01-24 21:09     ` Johannes Schindelin
2009-01-24 23:01     ` Junio C Hamano
2009-01-25  2:23       ` Johannes Schindelin
2009-01-26 16:21     ` Marc Branchaud
2009-01-24 22:47 ` Thomas Rast [this message]
2009-01-25  2:05   ` Johannes Schindelin
2009-01-25  2:25     ` Johannes Schindelin
2009-01-25 13:46       ` Jakub Narebski
2009-01-25 14:17         ` Johannes Schindelin
2009-01-25 15:07           ` Sverre Rabbelier
2009-01-25 15:24             ` Johannes Schindelin
2009-01-25 20:35               ` Junio C Hamano
2009-01-25 20:59                 ` Johannes Schindelin
2009-01-25 22:03                 ` Jakub Narebski
2009-01-25 23:29                   ` Johannes Schindelin
2009-02-03 10:05                     ` Nanako Shiraishi
2009-02-03 11:47                       ` Johannes Schindelin
2009-01-25 16:22           ` Jakub Narebski
2009-01-25 17:18             ` Björn Steinbrink
2009-01-26 16:10 ` Marc Branchaud
2009-01-27 15:21 ` Stephen Haberman
2009-01-27 18:08   ` Johannes Schindelin
2009-01-27 22:10   ` Nanako Shiraishi
2009-01-27 22:36     ` Stephen Haberman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200901242347.23187.trast@student.ethz.ch \
    --to=trast@student.ethz.ch \
    --cc=B.Steinbrink@gmx.de \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=spearce@spearce.org \
    --cc=stephen@exigencecorp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.