Re: [PATCH 0/6] The move to sequencer.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jonathan Nieder wrote:
> For the sake of new and forgetful readers: what is that objective?

The objective is to build a generalized sequencer, of which "git
revert" and "git cherry-pick" are two special cases.  We can later
extend it to encompass more builtins and other commands.  Why?  In
general, we want uniform semantics to continue, skip, and abort any
operation that requires user-intervention (example: a conflict that
needs to be resolved before proceeding).  A lot of this work is
inspired by the way "rebase -i" works: it presents the user an
instruction sheet with a sequence of actions to perform.  Example
future use cases:

  $ git cherry-pick moo..foo
  [conflict]
  $ edit problematicfile
  $ git add problematicfile
  $ git continue
  [finishes successfully]

  $ git revert moo..foo
  [conflict]
  $ edit problematicfile
  $ git add problematicfile
  $ git continue
  [finishes successfully]

In these examples, the instruction sheet is uniformly filled with
"pick" or "revert" actions, which is not very interesting.  When we
get an interface to allow easy editing of the instruction sheet and
encompass more builtins, more interesting sequences of operations will
be possible like:

  pick rr/revert-cherry-pick^2~34
  revert master@{12}
  merge next
  am /tmp/jrn.patch

Thanks.

-- Ram
--
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


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]