Thomas Rast <tr@xxxxxxxxxxxxx> writes: > NAME > ---- > -git-cherry - Find commits not merged upstream > +git-cherry - Find commits not applied in upstream Good. > +Determine whether there are commits in `<head>..<upstream>` that are > +equivalent to those in the range `<limit>..<head>`. > > +The equivalence test is based on the diff, after removing whitespace > +and line numbers. git-cherry therefore detects when commits have been > +"copied" by means of linkgit:git-cherry-pick[1], linkgit:git-am[1] or > +linkgit:git-rebase[1]. > > +Outputs the SHA1 of every commit in `<limit>..<head>`, prefixed with > +`-` for commits that have an equivalent in <upstream>, and `+` for > +commits that do not. Yeah, short-sweet-and-sufficient. > OPTIONS > ------- > -v:: > - Verbose. > + Verbose. Currently shows the commit subjects next to their > + SHA1. Whenever I see "Currently", it makes me wonder "why does it need to say that? Is there a plan to change it soon, and if so where is the plan described?". > +EXAMPLES > +-------- > + > +git-cherry is frequently used in patch-based workflows (see > +linkgit:gitworkflows[7]) to determine if a series of patches has been > +applied by the upstream maintainer. In such a workflow you might > +create and send a topic branch like this (fill in appropriate > +arguments for `...`): I think the ASCII art commit graph that shows topology which we lost by this patch gave a more intiutive sense of what "a topic branch like this" looked like than an incomplete skeleton of a command sequence that would be understood by those who already know how to work with multiple branches. Perhaps we want both? Thanks. > ++ > +------------ > +git checkout -b topic origin/master > +# work and create some commits > +git format-patch origin/master > +git send-email ... 00* > +------------ > +Later, you can whether your changes have been applied by saying (still > +on `topic`): > ++ > +------------ > +git fetch # update your notion of origin/master > +git cherry -v > +------------ > ++ > +Note that this uses , and assumes that > +`core.autosetupmerge` is enabled (the default). > + > + > SEE ALSO > -------- > linkgit:git-patch-id[1] -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html