public inbox for git@vger.kernel.org 
 help / color / mirror / Atom feed
From: Michael J Gruber <git@drmicha•warpmail.net>
To: Piotr Krukowiecki <piotr.krukowiecki@gmail•com>
Cc: Git Mailing List <git@vger•kernel.org>
Subject: Re: git cherry improvements suggestions
Date: Wed, 23 Mar 2011 11:46:38 +0100	[thread overview]
Message-ID: <4D89CF8E.4070100@drmicha.warpmail.net> (raw)
In-Reply-To: <AANLkTimk0bkOGVy2W+XddHRuf-1xw+d0RwzPhnk40vi8@mail.gmail.com>

Piotr Krukowiecki venit, vidit, dixit 23.03.2011 09:11:
> Hi,
> 
> Short version:
> 
> 1. The <limit> is misleading IMO

In what way? Is the documentation wrong?

> 2. Please extend the output to show "full diff"
> 3. Please add numerical/time <limit>
> 4. Would it be possible to use "=" for "equivalent change"?
> 
> Please tell me your opinions.

You will be a happy user of "git log --cherry A...B" instead of "git
cherry A B". It gives you all the log option (e.g. p for diff) that you
like and uses "=" rather than "-". It's currently in next and will be in
the next release.

> 
> 
> Long version:
> 
> I have a branch that have diverged long time ago from main branch. I can't use
> merge, so I'm using cherry-pick to transplant changes between branches
> (the other reason is I'm using git-svn...)
> 
> I noticed I did not transplant a certain commit recently. I wanted to
> see if there
> are any other commits I didn't transplant. I tried using git cherry:
> 
> 
> 1. man page says: git cherry [-v] [<upstream> [<head> [<limit>]]]
> 
>    $ git cherry -v master 9_1 20
>    fatal: Unknown commit 20
> 
> After reading man page I though the limit is a numeric limit, like "check
> last 20 commits".

It clearly is the name of a commit in that picture.

> 
> 2. The cherry currently shows only changes against one branch:
> 
>    Every commit that doesn’t exist in the <upstream> branch has its id (sha1)
>    reported[...] The ones that have equivalent change already in the <upstream>
>    branch are prefixed with a minus (-) sign, and those that only exist in the
>    <head> branch are prefixed with a plus (+)  symbol
> 
> So it will not show commits that exist only in <upstream> but not in <head>.
> 
> In my case changes are transplanted both ways (in general), so I have to check
> both branches.

You'll be a happy user of "git log --cherry-mark --left-right A...B" :)


> 3. I think a numerical limit (or even: time limit etc) of checked commits would
> be useful, especially in "full diff" mode. Without it would be not

log has a limit argument (-<number>), though I'm not sure it is exactly
what you want.


> 4. The output format uses "-" to show commits that exist in both branches.
> I find this unnatural. There probably is a reason for this? But maybe it would
> be possible to change the symbols? For example:
> 
>    - commit in upstream only
>    + commit in head only
>    = equivalent commit
> 
> Or "<", ">", " " or any other graphic symbol.

git log --cherry-mark --left-right will use <,=,>
git log --cherry-mark or --cherry will use *,=

(And yes, you can use it with --graph!)

Cheers,
Michael

  reply	other threads:[~2011-03-23 10:50 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-23  8:11 git cherry improvements suggestions Piotr Krukowiecki
2011-03-23 10:46 ` Michael J Gruber [this message]
2011-03-23 13:23   ` Piotr Krukowiecki
2011-03-23 13:33     ` Michael J Gruber
2011-03-23 14:43       ` Piotr Krukowiecki
2011-03-23 14:44         ` Michael J Gruber
2011-03-23 19:28           ` Piotr Krukowiecki
2011-03-24  7:40             ` Piotr Krukowiecki
2011-03-24  7:47               ` Michael J Gruber

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=4D89CF8E.4070100@drmicha.warpmail.net \
    --to=git@drmicha$(echo .)warpmail.net \
    --cc=git@vger$(echo .)kernel.org \
    --cc=piotr.krukowiecki@gmail$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox