git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCHv2 0/9] --left/right-only and --cherry-mark
@ 2011-03-07 12:31 Michael J Gruber
  2011-03-07 12:31 ` [PATCHv2 1/9] revlist.c: introduce --left/right-only for unsymmetric picking Michael J Gruber
                   ` (9 more replies)
  0 siblings, 10 replies; 30+ messages in thread
From: Michael J Gruber @ 2011-03-07 12:31 UTC (permalink / raw)
  To: git; +Cc: Junio C Hamano

This is a replacement for mg/rev-list-one-side-only in pu.
The --left/right-only related commits (1-4/9) are unchanged.

5/9 is new and refactors the generation of commit marks (<>-) which we
currently do in 5 places, to ease maintenance and extensibility.

6,7 are new and introduce "--cherry-mark" to the revision walker which marks
those commits which "--cherry-pick" would omit.

8,9 are amended as compared to pu, introducing "--cherry" as a shortcut for
"--cherry-mark --right-only --no-merges" to produce output much like "git
cherry" with the full flexibility of rev-list/log. (We could use the previous
version instead, or with a different synonym; or introduce rev-list-option
aliases...)

The mark for patch-equivalent commits is '=' because git-cherry's '-' is used
for boundary commits already.

The mark for non-equivalent commits is '+' (following git-cherry), or '<'/'>'
with --left-right, or '*' with --graph.

This is up for bike-shed^W^Wdiscussing - we could use ' ' instead or even '*'
also without --graph, or '+' even with --graph.

I would in fact prefer ' ' without --graph and '*' with --graph, which would
make it even more different from git-cherry's output, though.
(Personally, I never liked git-cherry's output anyways.)

This is also the base for refactoring git-format-patch and git-cherry, of
course, where the latter would be helped if it's ok to change the output
format.

Junio C Hamano (1):
  rev-list: --left/right-only are mutually exclusive

Michael J Gruber (8):
  revlist.c: introduce --left/right-only for unsymmetric picking
  t6007: Make sure we test --cherry-pick
  rev-list: documentation and test for --left/right-only
  rev-list/log: factor out revision mark generation
  revision.c: introduce --cherry-mark
  rev-list: documentation and test for --cherry-mark
  log --cherry: a synonym
  t6007: test rev-list --cherry

 Documentation/git-rev-list.txt       |    3 +
 Documentation/rev-list-options.txt   |   26 ++++++++
 builtin/rev-list.c                   |   14 +----
 graph.c                              |   17 +-----
 log-tree.c                           |   28 +-------
 pretty.c                             |    6 +--
 revision.c                           |   74 +++++++++++++++++++++-
 revision.h                           |    7 ++-
 t/t6007-rev-list-cherry-pick-file.sh |  113 +++++++++++++++++++++++++++++++---
 9 files changed, 220 insertions(+), 68 deletions(-)

-- 
1.7.4.1.299.g567d7.dirty

^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2011-03-11  8:02 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-07 12:31 [PATCHv2 0/9] --left/right-only and --cherry-mark Michael J Gruber
2011-03-07 12:31 ` [PATCHv2 1/9] revlist.c: introduce --left/right-only for unsymmetric picking Michael J Gruber
2011-03-07 12:31 ` [PATCHv2 2/9] t6007: Make sure we test --cherry-pick Michael J Gruber
2011-03-07 12:31 ` [PATCHv2 3/9] rev-list: documentation and test for --left/right-only Michael J Gruber
2011-03-07 12:31 ` [PATCHv2 4/9] rev-list: --left/right-only are mutually exclusive Michael J Gruber
2011-03-07 12:31 ` [PATCHv2 5/9] rev-list/log: factor out revision mark generation Michael J Gruber
2011-03-07 12:31 ` [PATCHv2 6/9] revision.c: introduce --cherry-mark Michael J Gruber
2011-03-09 21:29   ` Junio C Hamano
2011-03-10  8:23     ` [PATCHv2+ " Michael J Gruber
2011-03-07 12:31 ` [PATCHv2 7/9] rev-list: documentation and test for --cherry-mark Michael J Gruber
2011-03-07 12:31 ` [PATCHv2 8/9] log --cherry: a synonym Michael J Gruber
2011-03-07 12:31 ` [PATCHv2 9/9] t6007: test rev-list --cherry Michael J Gruber
2011-03-09 21:49 ` [PATCHv2 0/9] --left/right-only and --cherry-mark Junio C Hamano
2011-03-10  8:08   ` Michael J Gruber
2011-03-10  9:56     ` Junio C Hamano
2011-03-10 10:48       ` Michael J Gruber
2011-03-10 14:44         ` [PATCHv3 00/10] " Michael J Gruber
2011-03-10 14:44           ` [PATCHv3 01/10] revlist.c: introduce --left/right-only for unsymmetric picking Michael J Gruber
2011-03-10 14:44           ` [PATCHv3 02/10] t6007: Make sure we test --cherry-pick Michael J Gruber
2011-03-10 14:44           ` [PATCHv3 03/10] rev-list: documentation and test for --left/right-only Michael J Gruber
2011-03-10 14:44           ` [PATCHv3 04/10] rev-list: --left/right-only are mutually exclusive Michael J Gruber
2011-03-10 14:44           ` [PATCHv3 05/10] rev-list/log: factor out revision mark generation Michael J Gruber
2011-03-10 14:44           ` [PATCHv3 06/10] revision.c: introduce --cherry-mark Michael J Gruber
2011-03-10 14:45           ` [PATCHv3 07/10] rev-list: documentation and test for --cherry-mark Michael J Gruber
2011-03-10 14:45           ` [PATCHv3 08/10] log --cherry: a synonym Michael J Gruber
2011-03-10 14:45           ` [PATCHv3 09/10] t6007: test rev-list --cherry Michael J Gruber
2011-03-10 14:45           ` [PATCHv3 10/10] git-log: put space after commit mark Michael J Gruber
2011-03-10 18:22         ` [PATCHv2 0/9] --left/right-only and --cherry-mark Junio C Hamano
2011-03-11  7:52           ` Michael J Gruber
2011-03-11  8:02             ` Junio C Hamano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).